质数,又叫素数,是指不可以被除了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实现质数的判断和计数,首先定义了一个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可以方便地实现求质数个数的算法,让我们更加方便地学习数学知识和问题。