当前位置:   article > 正文

使用Python求素数

python求素数

#素数,只能被1和它自身整除的数

n = int(input("输入整数:")

if n<2:

    print(n, "不是素数")

for i in range(2,n):

    if n%i == 0:

        print("这个数不是素数")

        break

    else:

        print("这个数是素数")

以上程序在进行判断时存在一个逻辑错误, 当 n%i == 0 不成立, 且循环没有结束时, 也会执行else下面的打印, 

比如n = 9, 当i=2时, if条件不成立, 就执行else下面的语句, 打印出这个数是素数, 但是循环还没有结束, 在i= 3时, if条件成立, 即9不是素数, 所以这个程序就不应该打印出"这个数是素数",

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

以下程序是我从新写的:

  1. prime = int(input("判断素数:"))
  2. if prime==1:
  3. print('1不是素数')
  4. for i in range(2,prime):
  5. if prime%i==0:
  6. print(prime,'不是素数')
  7. break
  8. if i==(prime-1):
  9. print(prime,'是素数')

欢迎大家批评指正

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/593292
推荐阅读
相关标签
  

闽ICP备14008679号