Найдите сумму всех простых чисел ниже двух миллионов. Проект Эйлера, C [закрыто]
Кажется, все работает хорошо, но программа не дает мне правильного ответа. Мой - 142 915 960 832, а должен быть 142 913 828 922. Разница составляет 2131910 (если я все еще могу вычесть числа на бумаге, ха-ха), и я понятия не имею, откуда я взял эти два миллиона. Кто-нибудь может мне помочь?
#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;
}