题目链接:https://projecteuler.net/problem=15
组合数学,答案就是C(40,20),因为一共40步,我们要选20步向下,剩下的向右,所以答案是C(40,20)
代码:
import numpy as np
dp=np.zeros((50,50))
dp[0][0]=1
for i in range(1,41):
dp[i][0]=1
for j in range(1,41):
dp[i][j]=dp[i-1][j-1]+dp[i-1][j]
print(dp[40][20])