尤拉計畫 15

2021-07-25 12:46:49 字數 858 閱讀 8556

從乙個2×2網格的左上角開始,有6條(不允許往回走)通往右下角的路。

對於20×20的網格,這樣的路有多少條?

def

get_load_num

(x, y):

""" (x, y)網格的路數等於(x - 1, y) + (x, y - 1)

"""if x == 0

or y == 0:

return

1return get_xy_load(x - 1, y) + get_xy_load(x, y - 1)

defget_xy_load

(x, y):

"""

遞迴呼叫

注意儲存已求解過的網格

"""key = str(x) + '_' + str(y)

if key in xy_dict:

xy_load = xy_dict[key]

else:

xy_load = get_load_num(x, y)

xy_dict[key] = xy_load

return xy_load

xy = 20

xy_dict = dict()

print(get_load_num(xy, xy))

# 動態規劃求解

xy = 20

xy += 1

x_load_num = [1] * xy

for y in range(1, xy):

for x in range(1, xy):

x_load_num[x] += x_load_num[x - 1]

print(x_load_num[-1])

尤拉計畫 第15題 Lattice paths

從2 2格仔的左上角開始移動,只能向右或者向下移動,到達右下角共有6條路徑。在20 20的格仔中,有多少條這樣的路徑?我們利用2 2的格仔中的3 3個頂點來計算到達每個頂點有多少條路徑,我們初始化乙個陣列3 3的陣列x,其中每個值為0,之後會對其進行更新。對於最上邊一行和最左邊一行的頂點來說,從起點...

尤拉計畫 6

前十個自然數的平方和是 1 2 2 2 10 2 385 前十個自然數的和的平方是 1 2 10 2 552 3025 所以平方和與和的平方的差是3025 385 2640.找出前一百個自然數的平方和與和平方的差。def get square sub x 遞迴,展開行列式 if x 1 return...

尤拉計畫 14

以下迭代序列定義在整數集合上 n n 2 當n是偶數時 n 3n 1 當n是奇數時 應用以上規則,並且以數字13開始,我們得到以下序列 13 40 20 10 5 16 8 4 2 1 可以看出這個以13開始以1結束的序列包含10個項。雖然還沒有被證明 collatz問題 但是人們認為在這個規則下,...