为什么我实现的合数判断程序有问题?

为什么我实现的合数判断程序有问题?
图为合数的拉宾-米勒测试,我编写的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

回到顶部