大神们都是怎样校验是否素数的呢?有没有现成的模块可以调用?
优雅是没办法优雅了,只能尽量提高性能
import math
def is_prime(number):
if number > 1:
if number == 2:
return True
if number % 2 == 0:
return False
for i in range(3, int(math.sqrt(number) + 1), 2):
if number % i == 0:
return False
return True
return False
https://www.zhihu.com/questio...
看你的实际需求了,你要校验多大的素数
要是任意大数判断是不是素数,工程实践中一版都是用快速校验(不能保证一定是素数,但是速度很快,会多次快速校验来保证不是素数的概率很小,这种判断出来的素数可以在某些实践中使用,但不能在数学上直接认为是素数)
某些特定的大数有特定的方法判断是否是素数,但这种方法只能针对特定的数,不通用
如果数不大可以硬算,速度会相对慢但百分百准确
4 回答4.5k 阅读✓ 已解决
1 回答3.3k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
1 回答4.5k 阅读✓ 已解决
1 回答3.9k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
看看这个回答
是之前的一个类似问题