题目10:计算两百万以下所有质数的和
本帖最后由 欧拉计划 于 2023-7-8 05:11 编辑题目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。
请找出两百万以下所有质数的和。
视频讲解:
https://www.bilibili.com/video/BV1cF411o7rh/
思路解析及源码参考(C & Python):
**** Hidden Message *****
{:5_109:} #include <bits/stdc++.h>
using namespace std;
int c, tot;
bool is;
long long sum = 0;
int main() {
for (int i = 2; i <= 2000000; ++i) {
if (!is) c[++tot] = i, sum += i;
for (int j = 1; j <= tot && c * i <= 2000000; ++j) {
is * i] = 1;
if (i % c == 0) break;
}
}
printf("%lld\n", sum);
return 0;
}
万能的欧拉筛{:10_254:}
时间复杂度刚好适合{:10_275:} zhangjinxuan 发表于 2023-5-29 19:28
万能的欧拉筛
时间复杂度刚好适合
发明欧拉筛的人简直是一个天才! see 欧拉计划 发表于 2023-5-29 20:17
发明欧拉筛的人简直是一个天才!
确实厉害 好像有点难 本帖最后由 白于玉 于 2023-6-6 00:34 编辑
def PrimeNumberJudgement(n):
if n in :
return 1
elif n % 2 == 0:
return 0
elif n % 6 not in :
return 0
else:
for i in range(3,int(n**0.5)+1,2):
if n % i == 0:
return 0
return 1
s = 2
for i in range(3,2000000,2):
if PrimeNumberJudgement(i):
s += i
print(s) # 输出142913828922 学习一下 {:10_297:} 想看下答案 支持 ?
让我康康! {:5_103:} 0 看下结果 0 想看看答案 拿来吧你{:5_109:}
页:
[1]
2