鱼C论坛

 找回密码
 立即注册
查看: 1461|回复: 1

[已解决]求助,如有空的话 能注释一下好理解 谢谢

[复制链接]
发表于 2022-4-4 17:11:14 | 显示全部楼层 |阅读模式
2鱼币
判断101-200之间有多少个素数,并输出所有素数。(素数:除了1和它本身,不能被任何数整除))
最佳答案
2022-4-4 17:11:15
本帖最后由 isdkz 于 2022-4-4 18:27 编辑

  1. # 判断是否素数的函数
  2. def isPrime(n):
  3.     # 偶数都不是素数
  4.     if n % 2 == 0:
  5.         return False
  6.    
  7.     # 对奇数进行判断,能被除他自身和 1 之外的整数整除就不是素数
  8.     # 2 在前面偶数的时候判断过了,所以从 3 开始
  9.     # 如果一个数不是素数是合数,那么一定可以由两个自然数相乘得到,其中一个大于或等于它的平方根,
  10.     # 一个小于或等于它的平方根。并且成对出现,所以只用计算到该数的平方根以下看除了1有没有该数的因数,若没有,则是素数。
  11.     # 所以到 他的平方根加 1 为止,因为 range 左闭右开,所以加 1,步长为 2 是这里只对奇数判断
  12.     for i in range(3, int(n ** 0.5 + 1), 2):
  13.         if n % i == 0:
  14.             return False
  15.     return True

  16. # 存放结果的列表
  17. result = []

  18. for i in range(101, 200):
  19.     # 如果 i 是素数,添加进列表
  20.     if isPrime(i):
  21.         result.append(i)

  22. print(f'101-200之间一共有{len(result)}个素数')
  23. print('101-200之间的所有素数为:')
  24. for i in result:
  25.     print(i)
复制代码

最佳答案

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-4-4 17:11:15 | 显示全部楼层    本楼为最佳答案   
本帖最后由 isdkz 于 2022-4-4 18:27 编辑

  1. # 判断是否素数的函数
  2. def isPrime(n):
  3.     # 偶数都不是素数
  4.     if n % 2 == 0:
  5.         return False
  6.    
  7.     # 对奇数进行判断,能被除他自身和 1 之外的整数整除就不是素数
  8.     # 2 在前面偶数的时候判断过了,所以从 3 开始
  9.     # 如果一个数不是素数是合数,那么一定可以由两个自然数相乘得到,其中一个大于或等于它的平方根,
  10.     # 一个小于或等于它的平方根。并且成对出现,所以只用计算到该数的平方根以下看除了1有没有该数的因数,若没有,则是素数。
  11.     # 所以到 他的平方根加 1 为止,因为 range 左闭右开,所以加 1,步长为 2 是这里只对奇数判断
  12.     for i in range(3, int(n ** 0.5 + 1), 2):
  13.         if n % i == 0:
  14.             return False
  15.     return True

  16. # 存放结果的列表
  17. result = []

  18. for i in range(101, 200):
  19.     # 如果 i 是素数,添加进列表
  20.     if isPrime(i):
  21.         result.append(i)

  22. print(f'101-200之间一共有{len(result)}个素数')
  23. print('101-200之间的所有素数为:')
  24. for i in result:
  25.     print(i)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-22 00:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表