前言
跳格子问题,我记得之前在leetcode上刷过类似的
由于每次只能跳1-2格,因此跳到n格的方案就是跳到n-1格和n-2格的方案之和
a(n) = (an-1)+a(n-2)
就是斐波那契数列,我们可以用简单的递归搞定它
问题描述:
如图,一个人站在“梯子格”的起点处向上跳,从格外只能进入第1格,从格中,每次可向上跳一格或两格,问:可以用多少种方法,跳到第n格?
实现代码:
代码如下(示例):
#include<iostream>
using namespace std;
int result(int n) {
if (n < 2) return n;
return result(n - 1) + result(n - 2);
}
int main() {
int n;
cin >> n;
cout << result(n);
}
测试案例:
总结
简单问题,写的不好,大佬见谅.
如有疏漏,欢迎指正,小编垂首.