print("显示从 s 开始的前 20 个素数")
s=int(input("请输入一个正整数s:"))
n=0
s+=1
while n<20:
for i in range(1,s):
while s%i==0:
s+=1
break
else:
n+=1
print(s,end=" ")
if n%5==0:
print(" ")
这个是我写的,输入10之后输出的结果是
13 13 13 13 13
13 13 13 17 17
17 17 17 17 17
17 19 19 19 19
19 19 19 19 19
19 19 19 19 19
请问到底是哪里错了?
不管现在的s是不是素数s都要+1,s才会变成下一个啊
print("显示从 s 开始的前 20 个素数")
s=int(input("请输入一个正整数s:"))
n=0
s+=1
while n<20:
f=1
for i in range(2,s):
if s%i==0:
f=0
break
if f==1:
n+=1
print(s,end=" ")
if n%5==0:
print()
s+=1
觉得有用的话采纳一下哈
你先把求素数的代码写好,再扩展。你这求素数也根本不对呀。i能从1开始取值?什么数除以1都能整除。
还有,你用了3重循环
你应该把print放在最外层循环里面
否则你打印的永远是中间过程而不是结果
else 里面s也要++ 呀