Найдите сумму всех простых чисел ниже двух миллионов. Проект Эйлера, 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;
}

Ответы на вопрос(9)

Ваш ответ на вопрос