描述 一个正整数若只能被1和自身整除,编写程序,输入一系列正整数,筛选出其中的素数。 格式 输入 输入多个正整数,中间用空格隔开。 输出 输出筛选出的素数,中间用空格隔开。
时间: 2023-05-15 08:06:23 浏览: 72
好的,这是一个常见的素数筛选问题,我可以给您提供一个简单的 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 = [int(num) for num in nums if is_prime(int(num))]
print(' '.join(str(p) for p in primes))
```
您可以输入一系列正整数,程序会筛选出其中的素数并输出。希望能对您有所帮助!
相关问题
一个正整数若只能被1和自身整除,编写程序,输入一系列正整数,筛选出其中的素数。
思路:对于每个输入的正整数,判断其是否为素数。一个正整数n是否为素数,可以用从2到n-1的所有正整数去除n来判断,如果都无法整除n,则n为素数。
代码如下:
```python
while True:
n = input("请输入一个正整数(输入q结束):")
if n == "q":
break
n = int(n)
if n <= 1:
print(n, "不是素数")
else:
is_prime = True
for i in range(2, n):
if n % i == 0:
is_prime = False
break
if is_prime:
print(n, "是素数")
else:
print(n, "不是素数")
```
输出结果:
```
请输入一个正整数(输入q结束):10
10 不是素数
请输入一个正整数(输入q结束):23
23 是素数
请输入一个正整数(输入q结束):17
17 是素数
请输入一个正整数(输入q结束):1
1 不是素数
请输入一个正整数(输入q结束):0
0 不是素数
请输入一个正整数(输入q结束):q
```
一个正整数若只能被1和自身整除,编写程序,输入一系列正整数,筛选出其中的素数。
思路:对于输入的每一个数,判断它是否为素数。判断素数可以用“试除法”,即从2开始到该数的平方根结束依次将该数除以每个数,若能整除则不是素数,若不能整除则是素数。
代码:
```python
import math
# 判断是否为素数
def is_prime(n):
if n==1:
return False
elif n==2:
return True
else:
for i in range(2, int(math.sqrt(n))+1):
if n%i == 0:
return False
return True
# 主函数
if __name__ == '__main__':
nums = input("请输入一系列正整数,用逗号隔开:")
nums_list = nums.split(',')
primes = []
for num in nums_list:
if is_prime(int(num)):
primes.append(int(num))
print("筛选出的素数为:", primes)
```
运行结果:
```
请输入一系列正整数,用逗号隔开:1,2,3,4,5,6,7,8,9,10
筛选出的素数为: [2, 3, 5, 7]
```