的点点滴滴多
本帖最后由 shigure_takimi 于 2017-12-13 17:09 编辑
is_prime = lambda n: True if n in {2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67} else all(False for p in {2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67} if pow(p,n-1,n) != 1)
# 牢记jerryxjr1220大神提供的这个方法
学习一下
n = int(input('請輸入一個數字:'))
list1 = []
for x in range(2,n):
list1.append(n%x)
if 0 not in list1:
print(n , '是質數')
else:
print(n , '不是質數')
emmm
观摩
看看
学习
def ip(x):
if x==2 or x==3:return True
if x<2 or x%2==0 or(x%6!=1 and x%6!=5):return False
for i in range(3,int(x**0.5+1),2):
if x%i==0:return False
return True一般时间为0s。
本帖最后由 永恒的蓝色梦想 于 2019-8-1 13:16 编辑
jerryxjr1220 发表于 2017-9-29 21:57
基本上10**15以内都是毫秒级别的
老哥醒醒,函数有错误率
永恒的蓝色梦想 发表于 2019-8-1 12:58
老哥醒醒,函数有错误率
是的,对于常规应用来说这个错误率可以忽略不计的。
如果要提高准确率就增加测试数啊,测试数越多准确率越高,看你要多少的精确度了。
jerryxjr1220 发表于 2019-8-1 13:31
是的,对于常规应用来说这个错误率可以忽略不计的。
如果要提高准确率就增加测试数啊,测试数越多准确率 ...
嗯
1