欧拉计划第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\)。