ANSI C Kod w języku ANSI C według którego została wygenerowana tablica liczb pierwszych i rozkładów na czynniki pierwsze: #include #include #include #include

int main() { int min,max; int n,m,p,pierwiastek; int pierwsza; int licznik; char *pierwsze;

do { fprintf(stderr,"Poczatek przedzialu: "); scanf("%d",&min); } while (min\n" "Tablica rozkładów na czynniki pierwsze dla liczb od %d do %d\n" "\n" "Liczba\n" "Czynniki pierwsze\n" "\n" ,min,max);

licznik=1; for (n=2;n=min) if (n%100==0) printf( "\n" "\n" "%d" ,n); else printf("%d",n); p=n; pierwsza=1; pierwiastek=(int)(sqrt(p)+0.5); for (m=2;m=min) printf(pierwsza ? "=%d" : "×%d",m); pierwsza=0;

p/=m; m--; pierwiastek=(int)(sqrt(p)+0.5);

if (pierwsza) { if (n>=min) printf("Liczba pierwsza nr %d",licznik); licznik++; } else { if (n>=min) printf("×%d",p); pierwsze[n]=0;

if (n>=min) printf("\n"); } printf("\n");

return 0; }

Python 2.0 Prostsza metoda od powyższej w języku Python. Coded by MS def findfactors(number): listfactors = list() tmpnum = number

factor = 1 if(number > 1): while(number >= 2): factor += 1 if(number % factor == 0): listfactors.append(factor) number /= factor factor = 1 if(len(listfactors) == 1): print("No Factors found for: [",tmpnum,"] \t\t- Prime Number Found") return False elif(len(listfactors) > 1): print("Factors of",tmpnum,":",listfactors) return True else: print(number,"- Positive integer must be greater then 1")

comp = 0 primenum = 0 number = input("\nEnter positive integer > 1 for start sequence: ") stopsequence = input("How many numbers do you want to factorize: ") number = int(number) - 1 stopsequence = int(stopsequence) + 1 print("\n")

for x in range(stopsequence): number += 1 if(findfactors(number) == True): comp += 1 else: primenum += 1

print("\nIn requested range found: \n",comp," composite numbers\n",primenum," prime numbers\n") print(" --------- Coded by MS ---------\n")

Python 3.0 Ładniejsza, kolorowa wersja w języku Python3. Coded by MS def findfactors(number): listfactors = list() tmpnum = number

factor = 1 if(number > 1): while(number >= 2): factor += 1 if(number % factor == 0): listfactors.append(factor) number /= factor factor = 1 if(len(listfactors) == 1): print("\033[1;32mNo Factors found for: [",tmpnum,"] \t\t- Prime Number Found") return False elif(len(listfactors) > 1): print("\033[1;31mFactors of",tmpnum,":",listfactors) return True else: print(number,"- Positive integer must be greater then 1")

comp = 0 primenum = 0 number = input("\nEnter positive integer > 1 for start sequence: ") stopsequence = input("How many numbers do you want to factorize: ") number = int(number) - 1 stopsequence = int(stopsequence) + 1 print("\n")

for x in range(stopsequence): number += 1 if(findfactors(number) == True): comp += 1 else: primenum += 1

print("\n\033[0;39mIn requested range found: \n",comp,"composite numbers\n",primenum,"prime numbers\n") print("\033[1;37m --------- Coded by MS ---------\n")

ANSI C To samo co powyżej tylko w ANSI C. Coded by MS (zapoznaj się z funkcją faktoryzującą tego programu i tego pierwszego, a zrozumiesz czym jest "Thumb Rule" ;) ) #include

void printfactors(long);

int main(void) { long testnum, start, stop;

printf("Enter positive integer > 1 for start sequence: "); scanf("%ld", &start); printf("Enter last number to factorize: "); scanf("%ld", &stop);

testnum = start; for(start; start = 2) { factor++; if(n % factor == 0) { printf(" %ld ", factor); n /= factor; factor = 1;

Pascal To samo co powyżej tylko w języku PASCAL. Coded by MS program fact; var factor, i, j, licznik:integer;

procedure GetFactors(n:integer); begin factor := 1; write(n, ' = ');

while n >= 2 do begin inc(factor); if n mod factor = 0 then begin write(' ', factor, ' '); n := n div factor; factor := 1; end; end; end;

begin writeln; write('Podaj liczbe > 1 od ktorej rozpoczac faktoryzowanie liczb: '); readln(i); write('Podaj liczbe na ktorej zakonczyc faktoryzowanie liczb: '); readln(j); writeln; for licznik := i to j do begin GetFactors(licznik); writeln; end; writeln; end.

Java To samo co powyżej tylko w języku JAVA. Coded by MS package factorization;

import java.util.Scanner;

/** * * @author MS */ public class Factorization {

/** * @param args the command line arguments */ public static void main(String[] args) { Scanner read = new Scanner(System.in); long testnum, start, stop;

System.out.print("\nEnter number > 1 for start factorize sequence: "); start = read.nextLong(); System.out.print("Enter last number to factorize: "); stop = read.nextLong();

testnum = start; while(stop >= start) { printfactors(testnum); testnum++; start++;

System.out.print("\n\n");

System.exit(0);

public static void printfactors(long n) { long factor = 1;

System.out.print("\n "+ n +" = ");

while(n >= 2) { factor++; if(n % factor == 0) { System.out.print(" "+ factor +" "); n /= factor; factor = 1;