编写Python程序,输入一个大于2的自然数,输出小于该数字的所有素数组成的集合。
时间: 2023-11-18 19:11:26 浏览: 360
基于jupyter notebook的python编程—–使用列表实现筛选法求素数(输入一个大于 2 的自然数,然后输出小于该数字的所有素数组成的列表)
5星 · 资源好评率100%
好的,以下是Python代码实现:
```python
n = int(input("请输入一个大于2的自然数:"))
# 判断是否为素数
def is_prime(num):
if num < 2:
return False
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
return False
return True
# 生成小于n的素数集合
prime_set = set()
for i in range(2, n):
if is_prime(i):
prime_set.add(i)
# 输出结果
print("小于", n, "的素数集合为:", prime_set)
```
解释一下代码:
首先用`input()`函数获取用户输入的自然数,并将其转换为整数类型,并将其赋值给变量`n`。然后定义一个函数`is_prime()`来判断一个数是否为素数,如果该数小于2,则直接返回`False`,否则遍历2到该数的平方根之间的所有数,如果该数能被其中的某个数整除,则返回`False`,否则返回`True`。
接着,用一个集合`prime_set`来存储小于n的素数,遍历2到n-1之间的所有数,如果该数是素数,则将其加入集合`prime_set`中。
最后,用`print()`函数输出结果。
注意,这里用了集合`set()`来存储素数,因为集合具有唯一性,可以避免重复元素的出现。
阅读全文