所以,一切似乎都运行良好,但程序并没有给我正确的答案。我的是 142,915,960,832,而应该是 142,913,828,922。差值是 2,131,910(如果我仍然可以在纸上减去数字哈哈),我不知道我从哪里得到这 200 万。有人可以帮我吗?
#include <stdio.h>
#include <math.h>
#define BELOW 2000000
int isaprime (int num);
int main (void) {
int i;
float sum = 0;
for (i = 2; i < BELOW; i++) {
if (isaprime(i) == 1) {
sum = sum + i;
printf ("\n%d\t%.1f", i, sum);
}
}
getch();
return 0;
}
int isaprime (int num) {
int i;
for (i = 2; i <= sqrt(num); i++) {
if (num % i == 0) {
return 0;
}
else {
;
}
}
return 1;
}