SWUST派森练习题:P108. 素数筛选

文章介绍了如何使用Python编写程序,通过while循环和if判断来检测输入的一系列正整数中的素数,并给出一个示例和代码解析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

描述

一个正整数若只能被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} "):在满足条件的情况下,输出当前质数 iend = f"{i} " 用于控制输出的格式,每个质数之间以空格分隔。

  • a += 1:将变量 a 增加 1,继续下一次循环检查下一个可能的因子。

该代码通过循环遍历每个数字,逐个检查是否为质数,并输出质数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值