python程式設計 跳台階

2021-10-06 03:01:22 字數 1001 閱讀 6909

題目描述

乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法(先後次序不同算不同的結果)。

**:

class

jump()

:def

jumptaijie

(self,n)

:if n ==0:

return

0elif n ==1:

return

1elif n ==2:

return

2else

:return jump(

).jumptaijie(n-1)

+jump(

).jumptaijie(n-2)

defjumpother

(self,n)

:if n ==0:

return

0elif n ==1:

return

1elif n ==2:

return

2else

: step1 =

1 step2 =

2 result =

0for i in

range(2

,n):

result = step1+step2

step1 = step2

step2 = result

return result

sum= jump(

).jumptaijie(4)

print

(sum

)print

(jump(

).jumpother(5)

)

知識點:迴圈、遞迴

分別寫了兩個函式,分別為遞迴呼叫和迴圈執行,遞迴一般複雜度上過不去,雖然自己也注重這個,迴圈執行試了下複雜度上ok。

對於這種型別的題目,不要憑空想,看題目並不會看懂,通過推算前面幾級的數值,找出它的規律並實現。

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

題目 乙隻青蛙一次可以跳上1級台階,也可以跳上2級 它也可以跳上n級。求該青蛙跳上乙個n級的台階總共有多少種跳法。解題思路 n個台階有f n 種跳法,即5個台階有f 5 種跳法。當n 0時,只有一種情況 不用跳 故f n 1 當n 1時,只有一種跳法,一次跳一階,故f n 1 當n 2時,有兩種跳法...

程式設計 青蛙跳台階

乙隻青蛙一次可以跳上1級台階,也可以跳上2 級 它也可以跳上n 級,此時該青蛙跳上乙個n級的台階總共有多少種跳法?下面我們有數學歸納法分析一下這個問題 用fib n 表示青蛙跳上n階台階的跳法數,青蛙一次性跳上n階台階的跳法數1 n階跳 設定fib 0 1 當n 1 時,只有一種跳法,即1階跳 fi...

《程式設計之法》 跳台階

乙個台階總共有n級,如果一次可以跳1級 2級 3級。求總共有多少種跳法。如果整個台階只有1級,則只有一種跳法 如果台階只有2級,則有兩種跳法 如果台階只有3級,則有四種跳法。推廣到一般情況,記f n 為n級台階的跳法。當n 3時,第一次跳1級還是2級還是3級,決定了後面剩下的台階的跳法數目的不同。如...