质数疑问,请解答

来源:3-26 综合训练:判断1000内的质数

慕粉1523819

2020-03-14 09:47:14

mun = 17
i = 2
is_prime = True
while i < mun:
   if mun % i == 0:
       is_prime = False
       break
   i += 1
if is_prime == True:
   print("{}是质数".format(mun))

当i=17,条件是不成立,没有走while循环,直接走IF,那么,if是怎么判断17就是质数呢??

写回答

2回答

好帮手乔木

2020-03-15

同学你好:

质数:除了1和他本身的数能被整除外,其他的数都不可以。

所以从2开始。

if mun % i == 0:
       is_prime = False
       break
i += 1

i是从2开始的数,如果mun能整除i,那么该数就不是质数,所以is_prime = False,并且没有继续判断下去的必要,所以使用break退出循环。

如果i一直加到等于mun-1,仍然不能被mun整除,那么mun就是质数。

如果我解决了同学的问题,请采纳!学习愉快^_^。

1

Vess_ji

2020-03-14

质数:是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数

17就是它本身,这就跟为什么i要从2开始计算的原因,所以不需要包含1和17

0

0 学习 · 8160 问题

查看课程