1. 程式人生 > >Python---驗證哥德巴赫猜想

Python---驗證哥德巴赫猜想

  • 編寫一個函式驗證哥德巴赫的猜想:任何一個充分大的偶數(大於等於6)總可以表示成兩個素數之和—–要求:將6-100之間的偶數,都用兩個素數之和去表示
def function(num):
    lu = []
    for i in range(6, num):
        if i % 2 == 0:
            lu.append(i)

    # 得到所有的素數
    i = 6
    Iu = []
    while True:
        k = 2
        ku = []
        while True:
            if
i % k != 0: ku.append(k) # 素數只有1和本身整除,所以這個素數n裡面所有不整數的數的數量ku為素數n-1 if len(ku) == i - 1: Iu.append(i) k += 1 if k > i: break i += 1 if i >= num: break # 排序
# for i in range(len(Iu)): # for j in range(1, len(Iu)): # if Iu[i] + Iu[j] == 6: # print("%s + %s = 6" % (Iu[i], Iu[j])) # # for i in range(len(Iu)): # for j in range(1, len(Iu)): # if Iu[i] + Iu[j] == lu[z] and Iu[i] != Iu[j]: # print("%s + %s = 20" % (Iu[i], Iu[j]))
dudu = {} for z in range(len(lu)): for i in range(len(Iu)): for j in range(1, len(Iu)): if Iu[i] + Iu[j] == lu[z] and Iu[i] != Iu[j]: dudu.setdefault("%s + %s" % (Iu[i], Iu[j]), lu[z]) # print(dudu) for item in dudu: print("%s,%s" % (item, dudu[item])) function(1000)