python 求素数函数
时间: 2023-11-17 11:00:53 浏览: 61
可以使用Python内置的filter函数和lambda表达式来求100以内的素数。具体实现方法如下:
```python
import math
def is_prime(n):
if n < 2:
return False
for i in range(2, int(math.sqrt(n))+1):
if n % i == 0:
return False
return True
primes = filter(is_prime, range(2, 101))
print(list(primes))
```
其中,is_prime函数用于判断一个数是否为素数,filter函数用于筛选出符合条件的数,range函数用于生成2到100之间的整数序列。最后将筛选出的素数打印出来。
另外,引用中提到的方法也可以用于求解100以内的素数,具体实现方法如下:
```python
import math
n = 100
primes = filter(lambda x: not [x%i for i in range(2, int(math.sqrt(x))+1) if x%i ==0], range(2,n+1))
print(list(primes))
```
其中,lambda表达式用于判断一个数是否为素数,not关键字用于取反,range函数用于生成2到100之间的整数序列。最后将筛选出的素数打印出来。
相关问题
python判断素数函数
以下是一个简单的 Python 函数,用于判断一个数是否为素数:
```python
def is_prime(n):
if n <= 1:
return False
for i in range(2, int(n**0.5)+1):
if n % i == 0:
return False
return True
```
该函数首先判断输入的数是否小于等于 1,因为小于等于 1 的数不是素数。然后对从 2 到该数的平方根之间的所有数进行遍历,如果该数可以被其中的任何一个数整除,则该数不是素数。如果遍历完所有的数,都没有发现该数能够被整除,则该数是素数。
python使用函数求素数
以下是使用函数求素数的 Python 代码:
```python
def is_prime(n):
"""
判断一个数是否为素数
"""
if n <= 1:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
def find_primes(n):
"""
找出小于等于n的所有素数
"""
primes = []
for i in range(2, n + 1):
if is_prime(i):
primes.append(i)
return primes
# 示例:
print(find_primes(20)) # 输出 [2, 3, 5, 7, 11, 13, 17, 19]
```
首先定义了一个判断是否为素数的函数 `is_prime()`,然后再定义一个找出小于等于 n 的所有素数的函数 `find_primes()`,在 `find_primes()` 函数中使用 `is_prime()` 函数来判断每个数字是否为素数,若是则添加到素数列表中。最后返回素数列表即可。
使用示例中,我们调用 `find_primes(20)` 来找出小于等于 20 的所有素数,输出结果为 `[2, 3, 5, 7, 11, 13, 17, 19]`。