l=int(input())
n=0
s=0
for i in range(2,l):
c=0
for j in range(2,i):
if i%j==0:
c+=1
if c==0:
s+=i
if s<=l:
print(i)
n+=1
print(n)
by sscyy @ 2024-03-04 22:55:07
@[sscyy](/user/1093480) 不是 python 的问题,建议去学习质数筛,这道题朴素判断方法是不行的
by Ice_lift @ 2024-03-04 23:06:26
@[sscyy](/user/1093480) 判断质数复杂度不正确
@[Ice_lift](/user/857626) 不需要质数筛,根号判断是能过的
by PorkSausage @ 2024-03-04 23:10:05
@[sscyy](/user/1093480)
每一次只需要枚举到 $\sqrt{x}$ 就可以了。
by WydnksqhbD @ 2024-03-05 09:32:31
@[PorkSausage](/user/974277) 好吧,我做的时候是筛法做的
by Ice_lift @ 2024-03-05 13:47:33
@[PorkSausage](/user/974277) 好的,谢谢啦
by sscyy @ 2024-03-07 22:41:43