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