[C/C++]跳格子游戏 - 2019校招编程刷题
[C/C++]跳格子游戏 - 2019校招编程刷题
题目描述 假设你正在玩跳格子(所有格子排成一个纵列)游戏。需要 跳完n 个格子你才能抵达终点。 每次你可以跳 1 或 2 个格子。你有多少种不同的方法可以到达终点呢? 注意:给定 n 是一个正整数。
输入描述
格子数n
输出描述
跳完n个格子到达终点的方法
输入例子1:
2
输出例子1:
2
思路:
-
列举不同n值的方法数量,就可以得到推论: (1)n个格子的方法数量 = (n-1)个格子的方法数量+(n-2)个格子的方法数量 (n>2); (2)当 n <=2 时, n个格子的方法数量 = n。
-
使用递归方法即可完成代码。
Just show my code
代码(c++/c)
#include<iostream>
int methods(int n){
if(n<3){
return n;
}else{
return methods(n-1) + methods(n-2);
}
}
using namespace std;
int main(){
int n; // 格子数
cin >> n;
cout<<methods(n)<<endl;
return 0;
}
