使用python输入一个大于2的自然数,输出小于该数字的所有素数组成的列表
时间: 2023-06-02 09:01:48 浏览: 143
基于jupyter notebook的python编程—–使用列表实现筛选法求素数(输入一个大于 2 的自然数,然后输出小于该数字的所有素数组成的列表)
5星 · 资源好评率100%
以下是使用 Python 编写的程序,可以实现输入一个大于 2 的自然数,输出小于该数字的所有素数组成的列表:
```python
n = int(input("请输入一个大于2的自然数:"))
primes = []
for i in range(2, n):
is_prime = True
for j in range(2, int(i**0.5)+1):
if i % j == 0:
is_prime = False
break
if is_prime:
primes.append(i)
print(primes)
```
程序中,首先通过 `input()` 函数获取用户输入的自然数 `n`,然后创建一个空列表 `primes`,用于存储所有素数。接下来使用两重循环,第一重循环从 2 开始,一直到 `n-1` 结束,第二重循环从 2 开始,一直到该数字的平方根(向下取整)结束。在第二重循环中,如果找到了一个能够整除当前数字的因子,则说明该数字不是素数,将 `is_prime` 标记为 `False`,并跳出循环。如果第二重循环执行完毕后,`is_prime` 仍然为 `True`,则说明当前数字是素数,将其添加到 `primes` 列表中。最后输出 `primes` 列表即可。
阅读全文