编写一个程序,输出101-200之间所有素数。
flag=True
for i in range(101,201):
for j in range(2,i):
if i%j==0:
flag=False
break
if flag :
print(i)
为什么只输出了101,>︿<
编写一个程序,输出101-200之间所有素数。
flag=True
for i in range(101,201):
for j in range(2,i):
if i%j==0:
flag=False
break
if flag :
print(i)
为什么只输出了101,>︿<
引自免费微信小程序:皆我百晓生
在提供的代码中,问题出在flag
变量的初始化位置。flag=True
应该放在外层循环开始之前,这样每次进入新的数字判断时,都会将flag
重置为True
。以下是修正后的代码:
# 初始化 flag 为 True,在外层循环前
flag = True
for i in range(101, 201):
# 每次进入新的数字判断时,flag 都应重置为 True
flag = True
for j in range(2, i):
if i % j == 0:
flag = False
break
if flag:
print(i)
现在这个修改过的代码会正确地找出并打印出101到200之间的所有素数。