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之间的素数个数,并打印了结果。

物联沃分享整理
物联沃-IOTWORD物联网 » Python程序求解素数个数

发表回复