Consecutive prime sum | Project Euler | Problem #50

URL to the problem page: https://projecteuler.net/problem=50

The prime 41, can be written as the sum of six consecutive primes:
41 = 2 + 3 + 5 + 7 + 11 + 13

This is the longest sum of consecutive primes that adds to a prime below one-hundred.

The longest sum of consecutive primes below one-thousand that adds to a prime, contains 21 terms, and is equal to 953.


Which prime, below one-million, can be written as the sum of the most consecutive primes?



#include <iostream>
using namespace std;

int main()
{
    unsigned long long int i, j, a = 0, counter, sum, primes[78498];
    for (i = 999999; i >= 2; i--) {
        counter = 0;
        for (j = 2; j <= sqrt(i); j++) {
            if (i % j == 0) {
                counter++;
                break;
            }
        }
        if (counter == 0) {
            primes[a] = i;
            a++;
        }
    }

    for (a = 78497; a > 0; a--) {
        sum = 0;
        for (i = a; i > 0; i--) {
            if (sum + primes[i] <= primes[0]) {
                sum += primes[i];
            }
            else if (sum + primes[i] > primes[0]) {
                break;
            }
        }
        for (j = 0primes[j] >= sum; j++) {
            if (sum == primes[j]) {
                cout << "Prime number that can be written as the sum of the most consecutive primes below 1.000.000 is  =  " << sum << endl;
                break;
            }
        }
        if (sum == primes[j]) {
            break;
        }
    }
    return 0;
}



Comments

My photo
Ercan Tomac
instagram.com/ercantomac