我这个错哪了
来源:3-26 综合训练:判断1000内的质数
慕的地7028619
2019-08-03 18:00:30
j = 2
is_prime = True
while j <= 1000:
i = 2
while i < j:
if j%i == 0:
is_prime = False
break
i += 1
j += 1
if is_prime == False:
print('{}不是质数'.format(j))
if is_prime == True:
print('{}是质数'.format(j))
1回答
时间,
2019-08-04
同学,你好。
1、同学写的j+=1的位置是在print输出语句前,因此j的值会比内层循环中的j的值大1,输出的j值不对。需要先判断is_prime的值并进行输出,再修改j的值
2、修改第一个错误后,当j值为6时,is_prime为False,输出6不是质数。执行下一次while循环,j=7,此时,is_prime的值为False,因此输出7不是质数。需要在外层循环中将is_prime的值重新赋值为True。
如果我的回答解决了您的疑惑,请采纳!祝学习愉快~~~~
相似问题