《程式設計之法》 跳台階

2021-07-28 22:56:09 字數 882 閱讀 3690

乙個台階總共有n級,如果一次可以跳1級、2級、3級。求總共有多少種跳法。

如果整個台階只有1級,則只有一種跳法;

如果台階只有2級,則有兩種跳法;

如果台階只有3級,則有四種跳法。

推廣到一般情況,記f(n)為n級台階的跳法。當n>3時,第一次跳1級還是2級還是3級,決定了後面剩下的台階的跳法數目的不同。如果第一次只跳1級,則剩下的n-1級台階的跳法數目是f(n-1);如果第一次跳2級,則剩下的n-2級台階的跳法數目是f(n-2);如果第一次跳3級,則剩下的n-3級台階的跳法數目是f(n-3)。所以當n>3時,n級台階的不同跳法的總數為f(n)=f(n-1)+f(n-2)+f(n-3)。

//

// created by huxijie on 17-3-18.

// 跳台階

#include

using

namespace

std;

//遞迴解法

int steps(int n) ;

if (n <= 3)

return steps(n - 1) + steps(n - 2) + steps(n - 3);

}//非遞迴解法

int steps_2(int n)

int result[4] = ;

if (n <= 3)

for (int i = 4; i <= n; ++i)

return result[3];

}int main()

recursive: 274

non recursive: 274

process finished with

exit code 0

python程式設計 跳台階

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

程式設計 青蛙跳台階

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

程式設計練習5 跳台階

乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法 先後次序不同算不同的結果 跳第n級台階 n 3 f n 可以跳到第n 1級台階f n 1 或者第 n 2級台階f n 2 也就是可以有f n f n 1 f n 2 可以發現f1 1,f2 2,f3 3,f4 ...