用Python编写一个函数,输出大于0小于100的所以素数。素数是指只能被1和自身整除的大于1的自然数。例如,7是素数,而8不是。
时间: 2024-10-25 11:12:19 浏览: 19
python2练习题——编写函数,输入数字,判断是否是素数
你可以使用Python编写一个名为`find_primes`的函数来找出所有大于0且小于100的素数。这里是一个简单的实现,利用了埃拉托斯特尼筛法:
```python
def find_primes(n):
primes = []
sieve = [True] * (n + 1)
sieve[0:2] = [False, False] # 0 和 1 不是素数
for i in range(2, int(n**0.5) + 1): # 只需检查到√n
if sieve[i]: # 如果i是素数
for j in range(i*i, n+1, i): # 将i的倍数标记为非素数
sieve[j] = False
for i in range(2, n):
if sieve[i]:
primes.append(i)
return primes
# 调用函数并打印结果
print(find_primes(100))
```
这个函数首先创建了一个布尔列表`sieve`,然后初始化为`True`,表示所有数字都是潜在的素数。接着,从2开始,逐个检查每个数字是否为素数,如果是素数,则将它的倍数标记为非素数。最后,保留`sieve`中仍然为`True`的值,即得到所有的素数。
阅读全文