上樓梯(跳臺階)

問題描述

樓梯有n階臺階,上樓可以一步上1階,也可以一步上2階,走完n階臺階共有多少種不同的走法

解題思路:
假設n階臺階有f(n)種走法,第一步有2種走法
1.如果上1階,那就還剩n-1階,共有f(n-1)種走法
2.如果上2節,那就還剩n-2階,共有f(n-2)種走法
所以f(n) = f(n-1) + f(n-2).

代碼如下:

class ClimbStairs
{
public:
	int climb(int n)
	{
		if (n <= 2)
		{
			return n;
		}

		return climb(n - 1) + climb(n - 2);
	}
};
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章