问答

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

作者:admin 2021-06-15 我要评论

图为合数的拉宾-米勒测试,我编写的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...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

屏幕截图.png
图为合数的拉宾-米勒测试,我编写的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出现错误

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • 有哪些免费轻量级的适用于日志收集与展

    有哪些免费轻量级的适用于日志收集与展

  • 怎么讲JS 对象的value 赋值到key,形成

    怎么讲JS 对象的value 赋值到key,形成

  • 延迟队列DelayQueue的getDelay()方法,

    延迟队列DelayQueue的getDelay()方法,

  • input file 写了 accept="image/*"

    input file 写了 accept="image/*"

腾讯云代理商
海外云服务器