#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; }