Python实现判断位数较大的数字是否为质数

我要判断100万个介于[5000000000, math.pow(2, 63) - 2]之间的随机数是否为质数,当我采用下面的写法时程序运行一下子就运行不下去了,请问问题在什么地方,我的算法哪里可以改进

def main():    for k in range(1000000):        num = random.randint(5000000000, math.pow(2, 63) - 2)
        # 质数大于 1
        if num > 1:
            # 查看因子            for i in range(2, num):                if (num % i) == 0:                    print(num, "不是质数")                    break
            else:                print(num, "是质数")

        # 如果输入的数字小于或等于 1,不是质数        else:            print(num, "不是质数")


宝慕林4294392
浏览 715回答 1
1回答

慕桂英3389331

我要判断100万个介于[5000000000, math.pow(2, 63) - 2]之间的随机数是否为质数,当我采用下面的写法时程序运行一下子就运行不下去了,请问问题在什么地方,我的算法哪里可以改进def main():    for k in range(1000000):        num = random.randint(5000000000, math.pow(2, 63) - 2)         # 质数大于 1         if num > 1:             # 查看因子            for i in range(2, num):                if (num % i) == 0:                    print(num, "不是质数")                    break             else:                print(num, "是质数")         # 如果输入的数字小于或等于 1,不是质数        else:            print(num, "不是质数")
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python