当前位置: 首页 > article >正文

青蛙跳台阶

时间限制: 1s

类别: 递归->简单

问题描述

有n个台阶,青蛙一次只能往上跳1个或者2个,共有多少种跳法?

请使用递归编程实现,递归思路如下:

n 的值

走法

算式

1

只能一次1步

f(1) = 1

2

(1)一次走1步

(2)直接走2步

f(2) = 2

3

(1)先到达f(1)的情况,再从f(1)直接跨2步

(2)先到达f(2)的情况,再从f(2)直接跨1步

f(3) = f(2) + f(1) = 3

4

(1)先到达f(2)的情况,再从f(2)直接跨2步

(2)先到达f(3)的情况,再从f(3)直接跨1步

f(4) = f(3) + f(2) = 5

...

...

...

n = x

(1)先到达f(x-2)的情况,再从f(x-2)直接跨2步

(2)先到达f(x-1)的情况,再从f(x-1)直接跨1步

f(x) = f(x - 2) + f( - 1)

输入说明

输入一个正整数n

输出说明

输出一个整数,表示跳法的种数。

#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
long long di_gui(int n)
{
	if (n == 1)return 1;
	if (n == 2)return 2;
	return di_gui(n - 1) + di_gui(n - 2);


}
int main()
{
	int n; 
	 cin >> n;
	cout << di_gui(n) << endl;




}

也是连续发了好几道基础的递归题目

给大家总结一下 递归的要点

1.递归边界  我们知道递归是从复杂向简单  那我们就得知道简单是多少

2. 递归关系   有的题是上一个的n倍 如阶乘   fibonacci 则是 前两项的和

找到这两个东西 你就可以尝试写递归了 

加油


http://www.kler.cn/a/401191.html

相关文章:

  • React解决保存less文件后会自动生成css文件的方法
  • IntelliJ IDEA 2024.3(Ultimate Edition)免费化教学
  • 【售前方案】工业园区整体解决方案,智慧园区方案,智慧城市方案,智慧各类信息化方案(ppt原件)
  • Windows环境GeoServer打包Docker极速入门
  • 【Android、IOS、Flutter、鸿蒙、ReactNative 】自定义View
  • 一文说清:c++标准库
  • Python酷库之旅-第三方库Pandas(229)
  • MySQL数据库学习(持续更新ing)
  • Qt MDI与Splash介绍
  • 使用pandoc将latex转换成word(带参考文献)
  • uni-app获取安全区域
  • 基于centos7.9搭建tmall商城
  • GRU(门控循环单元)详解
  • 图片画廊4 -- 使用Owl Carousel进行优化
  • 探索Python PDF处理的奥秘:pdfrw库揭秘
  • 设计模式之组合模式(营销差异化人群发券,决策树引擎搭建场景)
  • Excel——宏教程(2)
  • 基于Matlab的变压器仿真模型的建模方法(2):单相双绕组变压器的状态方程和仿真模型(附源代码)
  • 分享一下arr的意义(c基础)
  • 【UNIAPP】uniapp版图片压缩工具
  • UE5 材质里面画圆锯齿严重的问题
  • 深入理解电子邮件安全:SPF、DKIM 和 DMARC 完全指南
  • 【.net core】【sqlsugar】字符串拼接+内容去重
  • Linux 安装 jdk8
  • 嵌入式工作经验积累
  • 网络抓包工具tcpdump 在海思平台上的编译使用