#include #include #include #include

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

do { fprintf(stderr,"Poczatek przedzialu: "); scanf("%d",&min); } while (min<=3); do { fprintf(stderr,"\nKoniec przedzialu : "); scanf("%d",&max); } while (max\n" "\n" "Liczba\n" "Składniki pierwsze\n" "\n" ,min,max);

licznik=1; for (n=2;n=min && !(n&1)) { if (n%100==0) printf( "\n" "\n" "%d" ,n); else printf("%d",n); for (m=2;m\n");

printf("\n"); }

Tablica rozkładów na sumę 2 liczb pierwszych ANSI C Tablica rozkładów na sumę 2 liczb pierwszych Coded by MS

#include #include

#define RANGE 2000 //1000000 #define PRIMESCOUNT 303 //78498

long eratosthenes(long); long setprimesarray(long[]);

int main(void) { long primes[PRIMESCOUNT]; short found = 0;

setprimesarray(primes);

printf("\n");

for(int i = 4; i <= RANGE; i++) { found = 0;

if(i % 2 == 0) { for(int j = 0; j < PRIMESCOUNT; j++) { for(int k = 0; k < PRIMESCOUNT; k++) { if(primes[j] + primes[k] == i) { printf("%d = %ld + %ld\n", i, primes[j], primes[k]); found = 1; break;

if(found == 1) break;

printf("\n");

return 0; }

long eratosthenes(long n) { int squarefromn;

squarefromn = sqrt(n);

for(int i = 2; i <= squarefromn + 1; i++) { if(n % i == 0) { return 0; } else if(i == squarefromn) { return 1;

long setprimesarray(long primearray[]) { int count = 4, testednum = 11;

primearray = 2; primearray = 3; primearray = 5; primearray = 7;

while(count < PRIMESCOUNT) { if(eratosthenes(testednum) == 1) { primearray[count] = testednum; count++;

testednum++;

return *primearray; }