剑指offer之青蛙跳台阶问题

1 问题

一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶,求该青蛙跳上一个n级的台阶总共有多少种跳法?

 

 

 

2 分析

我们可以定位函数f(n),n为n级别的台阶,f(n)的值是青蛙有多少种跳法,我们知道当n为1的时候,f(1) = 1;

当n为2的时候,我们知道可以先跳一级再跳一级,或者直接跳2级,这里就有2种跳法,所以f(2) = 2;

当n为3的时候,我们可以这样理解,青蛙先跳一级,后面还有n-1级需要跳,所以这里的跳法为f(n - 1);

或者青蛙先跳两级,后面还有n-2级需要跳,所以这里的跳法为f(n - 2); 所以我们知道当n大于2时,f(n) = f(n - 1) + f(n - 2);

f(1) = 1; (n = 1)
f(2) = 2; (n = 2)
f(n) = f(n - 1) + f(n - 2); (n > 2)

 

 

 

 

3 代码实现

#include <stdio.h>long long fibonacciOne(unsigned int n)
{if (n <= 0)return 0;if (n == 1)return 1;if (n == 2)return 2;return fibonacciOne(n - 1) + fibonacciOne(n - 2);
}long long fibonacciTwo(unsigned int n)
{if (n <= 0)return 0;if (n == 1)return 1;if (n == 2)return 2;long long first = 1;long long second = 2;long long sum = 0;for (int  i = 3; i <=n ; ++i){sum = first + second;first = second;second = sum;}return sum;
}int main(void) 
{long long resultOne = fibonacciOne(4);long long resultTwo = fibonacciTwo(4);printf("resultOne is %lld\n", resultOne);printf("resultTwo is %lld\n", resultTwo);return 0;
}

 

 

 

 

4 运行结果

resultOne is 5
resultTwo is 5

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/288122.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

惠普ProDesk行业专用台式机U盘重装系统时显示器不显示的解决办法

该配置的机子是独立显卡&#xff0c;也就是说主机后面有两个显示器接口&#xff0c;换一个试试吧&#xff0c;超级管用。

Windows 11 22H2 22610 重磅发布!删除水印,多彩任务管理器,文件资源管理器深度优化...

面向 Dev 和 Beta 频道的 Windows 预览体验成员&#xff0c;微软现已发布 Windows 11 22H2 预览版 Build 22610。主要变化1.微软现已更新 Windows 11 任务管理器的进程页面&#xff0c;将随着 Windows 主题颜色而变化。2.微软现已更新锁屏上的电池图标&#xff0c;适配 Windows…

oracle job 定时执行参数

oracle job 常见的执行时间1、每分钟执行trunc(sysdate,mi)1/(24*60)2、每天定时执行如&#xff1a;每天凌晨0点执行trunc(sysdate1)每天凌晨1点执行trunc(sysdate1)1/24每天早上8点30分执行trunc(sysdate1)(8*6030)/(24*60)3、每周定时执行每周一凌晨2点执行trunc(next_day(sy…

一篇文教你使用python Turtle库画出“精美碎花小清新风格树”快来拿代码!

Turtle库手册可以查询查询 python图形绘制库turtle中文开发文档及示例大全&#xff0c;手册中现有示例&#xff0c;不需要自己动手就可以查看演示。 文章修改记录 修改记录 1&#xff1a;2020年5月17日 12:06:51 由于某些童鞋回复说自己会卡死&#xff0c;请把代码&#xff…

QQ,MSN,Skype在线客服代码

QQ,MSN,Skype在线客服代码 在网站建设时&#xff0c;为了更好的实施网站的营销型&#xff0c;会用到QQ&#xff0c;MSN等在线交流&#xff0c;以便客户能够快捷方便的联系我们。在这里&#xff0c;提供QQ&#xff0c;MSN的在线客服代码给大家分享&#xff1a; 1.QQ在线咨询代码…

阿里云500服务器内部错误,腾讯云服务器网站不能打开 提示内部错误http 500

满意答案2010qqww2015.11.14采纳率&#xff1a;55% 等级&#xff1a;9已帮助&#xff1a;13114人实服务器内部500错误大概可分为两种&#xff0c;一种是服务器本身权限问题&#xff0c;另一种是程序上不规范或者错误造成。所以要解决此问题需要先弄清楚其到底是哪种原因&…

物联网智能硬件设备常见攻击方法

以太网接入型设备&#xff0c;一般分为网线或WiFi两种。不管是WiFi还是网线&#xff0c;可以通过局域网抓包、笔记本WiFi桥接抓包等等手段。最著名的抓包软件 Wireshark如何抓取硬件设备的网络数据包&#xff0c;考量的是网络知识基本功&#xff0c;需要大家自行度娘&#xff0…

Hadoop(四)C#操作Hbase

HbaseHbase是一种NoSql模式的数据库&#xff0c;采用了列式存储。而采用了列存储天然具备以下优势&#xff1a;可只查涉及的列&#xff0c;且列可作为索引&#xff0c;相对高效针对某一列的聚合及其方便同一列的数据类型一致&#xff0c;方便压缩同时由于列式存储将不同列分开存…

剑指offer之两个栈实现队列问题

1 问题 两个栈实现队列的插入和获取头部元素的功能 2 分析 我们定义连个栈stack1&#xff0c;stack2&#xff0c;当队列弹出头部元素的时候&#xff0c;我们知道队列先进后出&#xff0c;我们先把一个元素压到stack1,然后再压一个元素到stack1,然后我们把stack1的top函数得到…

【ArcGIS风暴】ArcGIS 10.2导入Excel数据X、Y坐标(经纬度、平面坐标),生成Shapefile点数据图层

用过CASS的人都知道,野外数字测图得到的点数据(平面坐标)可以直接导入到CASS中,进一步绘制地形图。那么,带有坐标的数据能不能在ArcGIS中实现点图层的生成呢?答案是必须的! 本文以气象台站shp数据的生成为例,详细介绍ArcGIS 10.2中导入X、Y坐标(这里指的是经度、纬度)…

【二】Windows API 零门槛编程指南——CreateWindow 窗口创建 “万字长篇专业术语全解”

本系列博文几乎没有难啃的“专业术语”&#xff0c;尽量让读者能够看明白文章所述内容&#xff0c;是本系列博文的核心宗旨之一。&#xff08;由于本人也是由于项目需要&#xff0c;所以才来查阅相关资料&#xff0c;文中出现的错误欢迎指出&#xff0c;共同进步&#xff01;谢…

一行命令 优化上传速度

本文来自 fir.im 首席吉祥物 TraWor. 最近许多用户反映上传速度慢的一塌糊涂&#xff0c;七牛的上传带宽我想肯定是没问题的&#xff0c;那原因不必多想就剩下 DNS 了。 即便本地网络再快&#xff0c;DNS 服务器给了一个很远的服务器地址也没办法很快的上传。 在终端运行这一行…

go 服务器 源码,LollipopGo开源游戏服务器框架--global服务器源码

大家好&#xff0c;我是彬哥&#xff0c;本节给大家讲下LollipopGov1.0.20190102版本游戏服务器globla服务器&#xff0c;抛砖引玉了&#xff0c;主要是针对Go语言游戏服务器Global服务器处理。package mainimport ("LollipopGo/LollipopGo/conf""LollipopGo/Lo…

ArcGIS导入Sketchup模型

ArcGIS可以与Sketchup、3D Studio Max等三维软件完美进行交互。 ArcGIS可以借助 Import 3D Files 工具支持主流的三维模型导入。支持 3D Studio Max (*.3ds)、VRML and GeoVRML 2.0 (*.wrl)、SketchUp 6.0 (*.skp)、OpenFlight 15.8 (*.flt)、Collaborative Design Activity (C…

剑指offer之两个队列实现栈的问题

1 问题 两个队列实现栈的插入和获取头部元素的功能 2 分析 1&#xff09;获取头部元素的功能分析&#xff1a; 我们有2个队列&#xff0c;我们知道队列的特点的先进先出&#xff0c;而栈的特点是先进后出&#xff0c;比如我们有数据1,2,3,4,我们分别依次压入队列1&#xff0…

ios wkweb设置图片_iOS WKWebView (NSURLProtocol)拦截js、css,图片资源

项目地址github&#xff1a;HybirdWKWebVIewHybridNSURLProtocol一个基于WKWebView的hybirde的容器。能拦截所有WKWKWebView的的css,js,png等网络请求的demoNSURLProtocol 子类&#xff0c;就可以对 app 内所有的网络请求进行:[NSURLProtocol registerClass:[HybridNSURLProtoc…

solr的空间查询(查询地图周围坐标)

原文网址&#xff1a;http://www.cnblogs.com/hanhuibing/articles/5680616.html 基于Solr的空间搜索 如果需要对带经纬度的数据进行检索&#xff0c;比如查找当前所在位置附近1000米的酒店&#xff0c;一种简单的方法就是&#xff1a;获取数据库中的所有酒店数据&#xff0c;…

「零门槛多语言 Python/C/C# 通用思想学习系列」第一篇:经典HelloWorld

环境说明 操作系统&#xff1a;Windows7 SP1 编辑器说明&#xff1a; Python&#xff1a;notepadC&#xff1a;devcC sharp&#xff08;C#&#xff09;&#xff1a;Visual Studio2019 注意&#xff1a; 标点&#xff1a;在编程中要使用英文的标点符号&#xff0c;必须切记数…

c# 元组类型

简介元组就是将一组松散的对象简单地组合在一起。元组比数组灵活性略强&#xff0c;数组中元素类型是统一的&#xff0c;而元组使用的是泛型参数&#xff0c;每个元素类型相互独立。元组不同于类和结构&#xff0c;类和结构是高度聚合的数据类型&#xff0c;其中要实现各种复杂…

服务器2008 系统日志 提示打印机,介绍服务器日志出现打印机错误的解决方法

今天来聊聊一篇关于服务器日志出现打印机错误的解决方法的文章,现在就为大家来简单介绍下服务器日志出现打印机错误的解决方法,希望对各位小伙伴们有所帮助。windows2003日志提示&#xff0c;打印机 ****未知。登录之前&#xff0c;请与管理员联系&#xff0c;安装驱动程序。事…