用函数编程实现输出 m~n之间所有素数
时间: 2024-04-29 18:21:33 浏览: 134
c语言程序实现输出n以内所有素数
以下是使用函数式编程语言Python实现输出m~n之间所有素数的代码:
```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 primes(m, n):
"""输出m~n之间所有素数"""
return filter(is_prime, range(m, n+1))
m = 1
n = 100
print(list(primes(m, n)))
```
在这个程序中,我们定义了两个函数,`is_prime`和`primes`。
`is_prime`函数用于判断一个数是否为素数,它采用了试除法的思想,从2到n的平方根范围内枚举除数,如果存在除数能够整除n,则说明n不是素数,返回False;否则,说明n是素数,返回True。
`primes`函数用于输出m~n之间所有素数。它首先生成m到n的所有自然数,然后使用`filter`函数对它们进行筛选,只保留素数,最后返回一个生成器对象。生成器对象可以通过`list`函数转换成一个列表,以便输出。
最后,我们定义了m和n的值,调用`primes`函数,将结果转换成列表,并输出。
阅读全文