为什么我实现的合数判断程序有问题?
图为合数的拉宾-米勒测试,我编写的python代码为:
def main(n): if n%2==0:
print("n is not prim")
return True
else:
i=1
q=(n-1)//2
while q%2==0:
q=q//2
i=i+1
l=list(range(i))
for a in range(2,n):
for k in l:
l[k]=a**(2**k*q)%n
if l[0]!=1 and all((x!=-1 for x in l)):
return True
return False
if __name__=="__main__":
b=input("please input an integer:")
print(main(int(b)))
大部分输入都是True,输入7出现错误
以上是 为什么我实现的合数判断程序有问题? 的全部内容, 来源链接: utcz.com/a/164084.html