判断素数python

# 将判断一个整数 n 是否为素数的代码定义为一个函数isPrime(n)
# 传入参数为整数 n,n 是素数时返回值为True,否则返回False
# 时间复杂度为o(n)
def is_prime(n):  # 判断参数 n 是否为素数的函数
    """判断素数,接受一个正整数n为参数,判断n是否为素数,返回布尔值"""
    if n <= 1:   # 小于2的数字都不是素数
        return False
    for i in range(2,n):   # 根据素数定义判定是否是素数,是素数返回1
        if n % i == 0:     # 从 2到n-1中如果存在一个数是i,使n 可以整除i,则n不是素数
            return False
    else:                  # 若for循环未遇到return正常结束,则n是素数
        return True


# 以下代码调用定义的isPrime()判定num是否为素数,输出小于m的所有素数
m = int(input())               # 输入一个正整数
for num in range(m):           # 获得小于m的整数数列
    if is_prime(num):          # 如果isPrime(num)返回值为True,num 是素数
        print(num, end=' ')   # 输出num

# 直接用推导式实现,一行代码
print(*[x for x in range(2, int(input())) if not [y for y in range(2, x) if x % y == 0]])

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

二十四桥_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值