Python 求素数个数

要计算一个给定范围内素数的个数,你可以编写一个Python函数来遍历这个范围,并对每个数检查它是否是素数。下面是一个简单的例子,该函数计算从2到n(包括n)之间的素数个数:

 

python复制代码

def count_primes(n):
if n < 2:
return 0
count = 0
for num in range(2, n+1):
is_prime = True
for i in range(2, int(num**0.5) + 1):
if num % i == 0:
is_prime = False
break
if is_prime:
count += 1
return count
# 示例:计算从2到100之间的素数个数
print(count_primes(100))

这个函数首先检查n是否小于2,因为素数定义上是大于1的自然数,且除了1和它本身以外不再有其他因数的数。然后,它遍历从2到n的每个数,并使用一个内部循环来检查每个数是否可以被2到它的平方根之间的任何数整除。如果一个数不能被这些数整除,那么它就是素数,并且计数器会增加。

注意,我们只需要检查到num的平方根,因为如果num有一个大于它平方根的因数,那么它必然还有一个小于或等于它平方根的对应因数。这个优化可以大大减少需要检查的数的数量,从而提高效率。

最后,函数返回素数的计数。在上面的示例中,我们计算了从2到100之间的素数个数,并打印了结果。

  • 8
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

youyouxiong

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值