因为Python3在某种程度上舍入了大整数。任何人都知道为什么会出现这样的问题:int(6366805760909027985741435139224001 # This is 7**40./ 7) == 909543680129861140820205019889143 # 7**39int(6366805760909027985741435139224001
我已经实现了Miller-Rabin素数测试,每个功能似乎都独立地正常工作。然而,当我试图通过生成70位的随机数来寻找一个素数时,我的程序在找到一个通过Miller-Rabin测试的数字之前,平均生成了100000多个数字(10步)。这是非常奇怪的,随机奇数小于70位的随机奇数的质数的概率应该很高(根据Hadamard-de la Vallée Poussin定理超过1/50 )。我的密码有什么问题吗?随机数发生器是否有可能以极低的概率抛出素数?我想不是..。任何帮助都是非常受欢迎的。