注:我英語不好,請不要對我做出判斷就可以了:)項目歐拉項目67 - Python的
問題:
projecteuler.net/problem=18
歐拉計劃.net/problem = 67
我正在Python中執行Project Euler#67。我的計劃,該計劃的工作項目18,不用於項目67 代碼工作(不包括打開文件和信息的處理):
for i in range(len(temp)):
list1 = temp[i]
try:
list2 = temp[i+1]
trynum1 = list1[lastinput] + max(list2[lastinput],list2[lastinput+1])
try:
trynum2 = list1[lastinput+1] + max(list2[lastinput+1],list2[lastinput+2])
if trynum1 > trynum2:
outputlist.append(list1[lastinput])
else:
outputlist.append(list1[lastinput+1])
lastinput += 1
except IndexError:
outputlist.append(list1[0])
except IndexError:
if list1[lastinput] > list1[lastinput+1]:
outputlist.append(list1[lastinput])
else:
outputlist.append(list1[lastinput+1])
變量:
temp
是三角形整數
outputlist
是存儲由程序
我知道答案是7273所選的號碼清單,但我的程序發現6542.我找不到這會導致次錯誤情況。請可你幫我在這,因爲我已經抓我在這個項目上,幾乎所有我的頭髮掉了我的頭髮:O)
邏輯
我對這個節目的做法是找到一個號碼(列表1 [lastinput])並將它與它下面兩個較大的數字(trynum1)相加,並與第一個數字(list1 [lastinput + 1])右邊的數字進行比較,在其下面增加兩個較大的數字( trynum2)。我將更大的那個添加到輸出列表中。
「注意:我的英文不好」 - 不,你不會! – SuperSaiyan
嘗試從底部開始工作! – corn3lius
你有沒有想過如何從底層開始構建它? –