哥德巴赫猜想:
2000以内的正偶数都能够分解为两个素数之和。
2000以内的正偶数都能够分解为两个素数之和。
#include<stdio.h>
#include<math.h>
int main() {
int i,n;
FILE *fp;
fp = fopen("GDBHCX.txt", "w");
if (fp == NULL) {
printf("Cannot write into the file.\n");
getch();
return 0;
}
for (i = 2; i <= 2000; i+=2) {
for (n = 1; n < i; n++) {
if (is_prime(n)) {
if (is_prime(i-n)) {
fprintf(fp, "%5d=%d+%d\n", i, n, i-n);
break;
}
}
if (n == i)
fprintf(fp, "error %d\n", i);
}
}
return 0;
}
int is_prime(int i) {
int j;
if (i < 1)
return 0;
else if (i == 1 || i == 2)
return 1;
else if (!(i%2))
return 0;
else
for (j = 3; j <= (int)sqrt((double)i) + 1; j+=2)
if (!(i%j))
return 0;
return 1;
}