[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。
n 1 2 3 4 5 6
方法数 1 2 3 5 8 13
  • 使用递归方法即可完成代码。

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;
}

如果我的文章能帮你节约20秒,就请你为我的文章点个赞吧!

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐