编写程序,同时输入一系列正整数,筛选出其中的素数。
时间: 2024-05-08 20:15:05 浏览: 41
以下是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
nums = input("请输入一系列正整数,以空格分隔:").split()
for num in nums:
if is_prime(int(num)):
print(num, end=" ")
```
首先定义一个函数 `is_prime` 判断一个数是否为素数,然后使用 `input` 函数获取用户输入的一系列正整数,并使用 `split` 方法将其转换成列表。接着使用 `for` 循环遍历列表中的每个数,如果是素数则打印输出。
相关问题
编写程序,输入一系列正整数,筛选出其中的素数。
以下是Python代码实现:
```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
nums = input("请输入一系列正整数,用空格分隔:").split()
primes = []
for num in nums:
if is_prime(int(num)):
primes.append(num)
print("筛选出的素数为:", primes)
```
首先,定义一个函数 `is_prime`,用于判断一个数是否是素数。其原理是从2到该数的平方根遍历,判断是否有整除关系。如果有,则不是素数;如果没有,则是素数。注意,1不是素数。
然后,读取用户输入的一系列正整数,将它们用空格分隔,存储在列表 `nums` 中。接着,遍历 `nums`,对于每个数,如果是素数,就将它加入到列表 `primes` 中。最后,输出筛选出的素数。
注意,这里假设用户输入的都是正整数,没有做类型检查和异常处理。如果需要更严谨的代码,可以在输入时进行检查。
一个正整数若只能被1和自身整除,编写程序,输入一系列正整数,筛选出其中的素数。
思路:对于输入的每一个正整数,判断它是否为素数,可以从2开始到这个数的平方根进行遍历,如果存在能够整除它的数,则它不是素数;否则它是素数。
代码如下:
```python
import math
def is_prime(num):
if num < 2: # 小于2的数不是素数
return False
for i in range(2, int(math.sqrt(num))+1):
if num % i == 0: # 如果存在能够整除它的数,则它不是素数
return False
return True # 否则它是素数
# 测试
nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
for num in nums:
if is_prime(num):
print(num, end=' ')
```
输出结果为:2 3 5 7 11 13
阅读全文