当先锋百科网

首页 1 2 3 4 5 6 7

质数,又叫素数,是指不可以被除了1和自身以外的数整除的自然数。Python是一种高级编程语言,可以快速求解质数个数。


def is_prime(n):
    if n < 2:
        return False
    for i in range(2, int(n ** 0.5) + 1):
        if n % i == 0:
            return False
    return True

def count_primes(n):
    count = 0
    for i in range(2, n):
        if is_prime(i):
            count += 1
    return count

print(count_primes(1000)) # 输出168

python求质数数量

以上代码使用Python实现质数的判断和计数,首先定义了一个is_prime(n)函数用于判断一个数是否为质数,然后使用count_primes(n)函数计算小于n的质数个数。

将调用print(count_primes(1000))输出结果为168。

Python内置的一些函数也可以用来实现求质数个数,例如使用filter()函数和lambda表达式可以快速筛选质数:


def count_primes(n):
    return len(list(filter(lambda x: all(x % i != 0 for i in range(2, int(x ** 0.5) + 1)),range(2, n))))


print(count_primes(1000)) # 输出168

以上代码使用了Python内置的filter()函数和lambda表达式,将所有小于n的数与所有小于该数平方根的数取余,若余数均不为0,则将该数保留下来,最终输出保留的质数个数。

Python可以方便地实现求质数个数的算法,让我们更加方便地学习数学知识和问题。