给你一个整数n, 判断它是否是素数。注意1不是素数。

谁借莪1个温暖的怀抱¢ 2021-12-01 15:42 444阅读 0赞

刷题遇到的好题,考虑一下方法:

最近才开始刷题,真的很迷茫了。

大佬刷好题有项目拿大厂offer的很多,我等菜还是老老实实刷题吧

鼓励一下我自己。。。。。

一、最基础的,按定义,除1和它本身无其他约数。

  1. # Python 程序用于检测用户输入的数字是否为质数
  2. # 用户输入数字
  3. num = int(input("请输入一个数字: "))
  4. # 质数大于 1
  5. if num > 1:
  6. # 查看因子
  7. for i in range(2,num):
  8. if (num % i) == 0:
  9. print(num,"不是质数")
  10. break
  11. else:
  12. print(num,"是质数")
  13. # 如果输入的数字小于或等于 1,不是质数
  14. else:
  15. print(num,"不是质数")

二、优化一点点

稍微思考一下,除了2以外其他偶数均为合数,

所以循环的时候只考虑奇数部分

[2,√n+1]范围

  1. import math
  2. def isprime(a):
  3. b=math.sqrt(a)
  4. for i in range(2,int(b)+1):
  5. if a%i==0:
  6. return 0
  7. return 1
  8. n=int(input())
  9. while n!=0:
  10. a=int(input())
  11. if a==1:
  12. print('No')
  13. else:
  14. if isprime(a)==1:
  15. print('Yes')
  16. else:
  17. print('No')
  18. n=n-1

发表评论

表情:
评论列表 (有 0 条评论,444人围观)

还没有评论,来说两句吧...

相关阅读

    相关 c#判断一个是否素数

    素数是只能被1或本身整除,且不能为其他两个整数的乘积。1、2、3本身就是素数,判断一个数是否为素数,只需要用这个值依次除以2到它的开方数,如果其中有一个数可以整除,那么该值不为