描述
一个正整数若只能被1和自身整除,编写程序,输入一系列正整数,筛选出其中的素数。
格式
输入
输入多个正整数,中间用空格隔开。
输出
输出筛选出的素数,中间用空格隔开。
样例
输入
22 40 77 41 92 93 73 27 43 71
输出
41 73 43 71
代码:
ls = [eval(i) for i in input().split(" ")]
for i in ls:
a = 2
while a < i:
if i % a == 0 :
break
elif a == i - 1:
print(end = f"{i} ")
a += 1
代码解析:
ls = [eval(i) for i in input().split(" ")]
:通过输入获取一串数字,使用空格分隔,并将这些数字存储在列表ls
中。eval(i)
将输入的字符串转换为对应的数字。
for i in ls:
:遍历列表ls
中的每个元素,用变量i
表示当前元素。
a = 2
:将变量a
初始化为 2,用于检查i
是否为质数。
while a < i:
:进入一个循环,只要a
小于当前元素i
,就继续执行循环体内的代码。
if i % a == 0:
:判断当前元素i
是否能被a
整除,即是否存在因子能够整除i
。如果条件成立,说明i
不是质数,可以提前结束循环。
break
:结束当前循环。
elif a == i - 1:
:在循环结束时进行判断,如果a
等于i - 1
,说明循环完整地遍历了从 2 到i - 1
的所有数字,没有找到能够整除i
的因子,所以i
是质数。
print(end = f"{i} ")
:在满足条件的情况下,输出当前质数i
。end = f"{i} "
用于控制输出的格式,每个质数之间以空格分隔。
a += 1
:将变量a
增加 1,继续下一次循环检查下一个可能的因子。该代码通过循环遍历每个数字,逐个检查是否为质数,并输出质数。