我要判斷100萬(wàn)個(gè)介于[5000000000, math.pow(2, 63) - 2]之間的隨機(jī)數(shù)是否為質(zhì)數(shù),當(dāng)我采用下面的寫(xiě)法時(shí)程序運(yùn)行一下子就運(yùn)行不下去了,請(qǐng)問(wèn)問(wèn)題在什么地方,我的算法哪里可以改進(jìn)def main(): for k in range(1000000): num = random.randint(5000000000, math.pow(2, 63) - 2)
# 質(zhì)數(shù)大于 1
if num > 1:
# 查看因子 for i in range(2, num): if (num % i) == 0: print(num, "不是質(zhì)數(shù)") break
else: print(num, "是質(zhì)數(shù)")
# 如果輸入的數(shù)字小于或等于 1,不是質(zhì)數(shù) else: print(num, "不是質(zhì)數(shù)")
Python實(shí)現(xiàn)判斷位數(shù)較大的數(shù)字是否為質(zhì)數(shù)
寶慕林4294392
2018-12-17 08:59:59