有一个 X * Y 的网格,小团要在此网格上从左上角到右下角,只能走格点且只能向右或向下走。请设计一个算法,计算小团有多少种走法。给定两个正整数 int x,int y,请返回小团的走法数目。
输入描述:
输入包括一行,空格隔开的两个正整数 x 和 y,取值范围 [1,10]。
输出描述:
输出一行,表示走法的数目
示例 1:
输入
3 2
输出
10
思路:
从左上角 0 到右下角 x
到达 x 的前一步必定是网格点 x - 1 或者 x
以此往前推
从格点 0 到 0 和 x 的走法数目为 1
利用递归函数可以求解
x,y =map(int,input().split())
def num(x,y):
if x==0 or y==0:
return 1
else:
return num(x,y-1)+num(x-1,y)
print(num(x,y))
运行结果:可通过