Tag: 派皮

为什么pow(a,d,n)比a ** d%n快得多?

我试图实施一个米勒 – 拉宾素性testing ,并且对中型号码(〜7位数字)花费这么长时间(> 20秒)感到困惑。 我最终发现下面这行代码是问题的根源: x = a**d % n (其中a , d和n都是相似的,但不相等的中等数字, **是指数运算符, %是模运算符) 然后我尝试用以下replace它: x = pow(a, d, n) 通过比较它几乎是瞬间的。 对于上下文,这里是原始的function: from random import randint def primalityTest(n, k): if n < 2: return False if n % 2 == 0: return False s = 0 d = n – 1 while d […]