import math
n = int(input())
maxx = 1000010
p = []
for i in range(maxx):
p.append(1)
num = []
sum = []
p[0] = 0
p[1] = 0
p[2] = 1
for i in range(2, maxx, 1):
if i * i >= maxx:
break
if(p[i] == 1):
for j in range(2, maxx, 1):
if i * j >= maxx:
break
p[i*j] = 0
# p[i] = 0 非素数 p[i] = 1素数
cnt = 0
pre = 0
for i in range(maxx):
if(p[i] == 1):
cnt += 1
num.append(i)
sum.append(pre + i)
pre = pre + i
id = 0
for i in range(cnt):
if sum[i] <= n:
id += 1
print(num[i])
else:
break
print(id)
Python 埃氏筛法筛素数
最新推荐文章于 2025-03-30 15:34:35 发布