有一楼梯共n级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第n级,共有多少种走法?
这其实是fibonacci数列,记走法为f(n),在n-1和n-2时你都可以直接跨上去。
因此
f(n) = f(n-1)+f(n-2)
跑到n级的方法等于跑到n-1和n-2之和因此可以用fib做
def fib(n): x,y = 0,1 while(n): x,y,n = y,x+y,n-1 return x
有一楼梯共n级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第n级,共有多少种走法?
这其实是fibonacci数列,记走法为f(n),在n-1和n-2时你都可以直接跨上去。
因此
f(n) = f(n-1)+f(n-2)
跑到n级的方法等于跑到n-1和n-2之和因此可以用fib做
def fib(n): x,y = 0,1 while(n): x,y,n = y,x+y,n-1 return x