欧拉计划第10题题解

Summation of primes

The sum of the primes below 10 is 2 + 3 + 5 + 7 = 17.

Find the sum of all the primes below two million.

素数的和

所有小于10的素数的和是2 + 3 + 5 + 7 = 17。

求所有小于两百万的素数的和。

解题思路

没有特别好的想法,下奶能想到的就是枚举算出200万以内的所有素数,然后求这些素数的和。

实现代码如下:

#include <bits/stdc++.h>
using namespace std;
bool check(int a) {
    if (a < 2) return false;
    for (int i = 2; i*i <= a; i ++)
        if (a % i == 0) return false;
    return true;
}
long long sum;
int main() {
    for (int i = 2; i < 2000000; i ++)
        if (check(i))
            sum += i;
    cout << sum << endl;
    return 0;
}

得到答案为 \(142913828922\)

posted @ 2020-02-17 18:34  quanjun  阅读(172)  评论(0编辑  收藏  举报