判断是否是素数


¬∃k ∈ [2, n) : n ≡ 0 mod k

方法一
def is_prime(n):
k = 2
while k < n:
if n % k == 0:
return False
k += 1
return True

方法二
def is_prime(n):
return len(filter(lambda k:n%k ==0 for k in range(2,n)))==0
def primes(m):
return filter(is_prime, range(2,m))

方法三
def is_prime(n):
return True not in [n%k==0 for k in range(2,n)]
def primes(m):
return [n for n in range(2,m) if is_prime(n)]

range可以用xrange替换

方法四:
def is_prime(n):
return not any(n%k==0 for k in xrange(2,n))


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值