转载请注明:https://blog.csdn.net/u012572354/article/details/89575239
能力有限,如有问题请指出,共享知识,谢谢!
题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
分析:
设跳到第1个台阶的跳法为,(1),其中
表示从第0个台阶跳n级直接到第n个台阶。跳到第2个台阶的跳法为
,(11,2),跳到第3个台阶的跳法为
,(1111,12,21,3),故跳到第n个台阶的跳法为
(1)
其中,表示从第0个台阶跳n级直接到第n个台阶。
设跳n个台阶的跳法总和为,
,则跳到第n个台阶的跳法为
(2)
由(1)式可知,
结合式(1)、(2),
则跳到第n个台阶的跳法为
解法:
根据以上通式,进行如下编程。
# -*- coding:utf-8 -*-
class Solution:
def jumpFloorII(self, number):
# write code here
if number==0:
return 0
else:
a=pow(2,number-1)
return a