公升級版跳台階 python程式設計

2021-09-25 01:53:53 字數 907 閱讀 8026

題目:

乙隻青蛙一次可以跳上1級台階,也可以跳上2級……它也可以跳上n級。求該青蛙跳上乙個n級的台階總共有多少種跳法。

解題思路:

n個台階有f(n)種跳法,即5個台階有f(5)種跳法。

當n=0時,只有一種情況(不用跳),故f(n)=1

當n=1時,只有一種跳法,一次跳一階,故f(n)=1

當n=2時,有兩種跳法,可以一次跳兩階,也可以跳兩次一階,f(n)=2

當n=3時,第一次如果跳一階,剩下兩階的跳法有f(3-1);第一次如果跳兩階,剩下一階的跳法有f(3-2);如果第一次跳三階,那剩下的跳法有f(3-3)種跳法。

故f(3) = f(3-3)+f(3-2)+f(3-1) = f(0)+f(1)+f(2)

……以此類推,

f(n-1) = f(0) + f(1) + … +f((n-1)-1) = f(0) + f(1) + … +f(n-2)

f(n) = f(0) + f(1) + … + f(n-2) + f(n-1) = f(n-1) + f(n-1) = 2 f(n-1)

python程式設計如下:

# -*- coding:utf-8 -*-

class

solution

:def

jumpfloorii

(self, number)

:if number<=1:

return

1else

: a =

1for i in

range

(number-1)

: a *=

2return a

python程式設計 跳台階

題目描述 乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法 先後次序不同算不同的結果 class jump def jumptaijie self,n if n 0 return 0elif n 1 return 1elif n 2 return 2else ...

跳台階(java版)

題目描述 乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法。解題思路 1.對於第n個台階來說,只能從n 1或者n 2的台階跳上來,所以f n f n 1 f n 2 2.斐波拉契數序列,初始條件 n 1 只能一種方法 n 2 兩種 遞迴一下就好了 3.當測試用...

Python3程式設計 數字反轉(公升級版)

給定乙個數,請將該數各個位上數字反轉得到乙個新數。這次與noip2011普及組第一題不同的是 這個數可以是小數,分數,百分數,整數。整數反轉是將所有數字對調 小數反轉是把整數部分的數反轉,再將小數部分的數反轉,不交換整數部分與小數部分 分數反轉是把分母的數反轉,再把分子的數反轉,不交換分子與分母 百...