小白兔生小白兔-菲波拉契数列问题

有一对小白兔,从出生后第3个月起每个月都生一对小白兔,小白兔长到第三个月后每个月又生一对小白兔,假如小白兔都不死,问每个月的小白兔总数为多少?

这道题是典型的斐波拉切数列问题,其特点就是从第三列开始就等于前两列之和,算法: F(n)=F(n-1)+F(n-2)

列出三种实现方式:

    /*** 递归算法  F(n)=F(n-1)+F(n-2)* @param n 月数* @return*/public static int rabbitCalculate(int n){return n <= 2 ? 1 : (rabbitCalculate(n-1) + rabbitCalculate(n-2));}

 

   /*** 根据公式循环计算 F(n)=F(n-1)+F(n-2)* @param n 月数*/public static void rabbitCalculate2(int n){int [] arr=new int[n+1];arr[0]=0;arr[1]=1;int now=0;System.out.println("第1个月兔子对数:"+arr[1]);for (int i = 2; i <=n ; i++) {arr[i]=arr[i-1]+arr[i-2];now=arr[i];System.out.println("第"+i+"个月兔子对数:"+now);}System.out.println("月兔子对数:"+now);}

 

   /*** 借助临时变量进行计算* @param n 月数*/public static void rabbitCalculate3(int n){int previous=1,now=1,temp,begin=3;System.out.println("第1个月兔子对数:"+previous);System.out.println("第2个月兔子对数:"+previous);for (int i = begin; i <= n; i++) {temp=now; // 记录前一个now备用now=previous+now; // 算出当前now值previous=temp; // 将记录的位置值赋给previousSystem.out.println("第"+i+"个月兔子对数:"+now);}}

结束

转载于:https://www.cnblogs.com/wanghao1874/p/10715061.html

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

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

相关文章

[html] 解释下你对GBK和UTF-8的理解?并说说页面上产生乱码的可能原因

[html] 解释下你对GBK和UTF-8的理解&#xff1f;并说说页面上产生乱码的可能原因 gbk和utf8的理解我们这里将以最简单最容易理解的方式来描述GBK和UTF8的区别&#xff0c;以及它们分别是什么。GBK编码&#xff1a;是指中国的中文字符&#xff0c;其它它包含了简体中文与繁体中…

控制反转_Spring:IOC 控制反转

Spring 概述Spring 是什么Spring 是分层的 Java SE/EE 应用 full-stack (全栈式) 轻量级开源框架。全栈式&#xff1a;对各种主流技术和框架都进行了整合&#xff0c;同时对三层架构都提供解决方案。轻量级和重量级的划分主要依据就是看它使用了多少服务&#xff0c;启动时需要…

TAB选项卡

TAB选项卡&#xff1a;下载用Java Script模仿各种作业系统的选项卡&#xff0c;老外就是牛&#xff0c;不仅支援多样式的即时切换&#xff0c;同时也支援每个选项卡是否附带图示的切换选项&#xff0c;选项卡也可以上下切换。 转载于:https://www.cnblogs.com/meetrice/archive…

巨蟒python全栈开发flask5

1.轮询&&长轮询&&长连接 2.GeventWebsocket 3.Websocket群聊 4.Websocket单聊 5.websocket握手 6.websocket解密 7.websocket加密转载于:https://www.cnblogs.com/studybrother/p/10717550.html

[html] js放在html的<body>和<head>有什么区别?

[html] js放在html的和有什么区别&#xff1f; 在浏览器解析HTML中的时候&#xff0c;如果在head标签中遇到了script标签并且是同步执行的&#xff0c;那么就会影响文档的加载&#xff0c;如果引入的过多的同步脚本文件 那么加载会变得非常怪异且卡顿&#xff1b;但是放在body…

最后一封“情书”

本来以为自己是可以按照自己的想法去维系 可是发现自己的矜持对于你是一种恐惧 从退出“水云”的那天我就懂了 真的懂了 我并没想到“关注”变成了“监视”&#xff0c;这是对我的一种侮辱&#xff0c;比任何都&#xff01; 心境不同了&#xff0c;没时间去做毫无意义的监视调查…

python向dict里添加_Python有条件地向Dict添加键

我试图从一个标题列表中生成dict&#xff0c;它将数据列“关联”到同一个实验。例如&#xff0c;我想转向&#xff1a;headers ["A_1","A_2","A_3","B_1","B_2","B_3"]进入^{pr2}$我的代码如下&#xff1a;cols …

Kubernetes探索学习005--Kubernetes的Controller模型和ReplicaSet伸缩

1.Kubernetes的controller pattern 需要认识到Kubernetes操作Pod的逻辑&#xff0c;都是由控制器来完成的。 查看之前写过的nginx-deployment的YAML文件 [rootkubernetes01 ~]# cat nginx-deployment.yaml apiVersion: apps/v1 kind: Deployment metadata:name: nginx-deploym…

mysql 索引实战

mysql 索引实战 之前有个项目,已经充分用MYSQL的调优调了&#xff0c;速度感觉还可以.但发现索引没用上.于是调整之.首先,数据库中有date字段,是int类型的,入库时用php的time()入库的,现在的需求是要求1天之内的记录,我们来看具体的写法,先看原来的$query "select * from…

[html] 你对标签语义化的理解是什么?

[html] 你对标签语义化的理解是什么&#xff1f; 标签语义化的初衷是让正确的标签做正确的事情&#xff0c;但对于人来说&#xff0c;标签的语义除了在 tag 上体现&#xff0c;还可以从 id, class 上体现出来。而每个人对于标签的理解都会存在不同&#xff0c;因此强制规定哪个…

中医移动医疗_中医之极简移动医疗

来源&#xff1a;爱捣鼓网移动医疗是时尚名词。未来也必将初进医疗改革&#xff0c;其也将走进我们每一个人的生活&#xff0c;将来更是我们健康的贴身卫士和高效的个人预警机。移动医疗必将和手机融合。未来的手机不仅仅是娱乐&#xff0c;更是智慧生活的高级助手。现在&#…

编程语言

语言的分类 高级语言&#xff1a;python、Java、PHP...... ----->字节码 低级语言&#xff1a;C、汇编 ----->机器码 区别&#xff1a;高级语言有回收内存的机制&#xff0c;…

[html] 写H5和小程序有什么相同及不同的地方吗?

[html] 写H5和小程序有什么相同及不同的地方吗&#xff1f; 第一条是运行环境的不同。传统的HTML5的运行环境是浏览器&#xff0c;包括webview&#xff0c;而微信小程序的运行环境并非完整的浏览器&#xff0c;大家注意&#xff0c;我这里写的是“非完整的浏览器”&#xff0c…

javascript文字旋转效果

展开 | 隐藏 | 停止 | 旋转 | 改变旋转方向网页特效库背景特效整站模板导航特效时间特效图象特效文本特效代码&#xff1a;<html> <body> <style type"text/css"> BODY { background : #efefef; font : 12px Verdana; } A { color : #e70 } …

python的创始人、特点应用领域_python学习笔记(python发展介绍)

一、python介绍python的创始人为吉多・范罗苏姆(Guido van Rossum)目前python主要应用领域&#xff1a;・云计算・WEB开发・科学运算、人工智能・系统运维・金融&#xff1a;量化交易&#xff0c;金融分析等&#xff0c;作为动态语言的python&#xff0c;语言结构清晰简单&…

kubernetes ui 搭建

1、部署Kubernetes云计算平台&#xff0c;至少准备两台服务器&#xff0c;此处为3台 Kubernetes Master节点&#xff1a;192.168.0.111 Kubernetes Node1节点&#xff1a;192.168.0.112 Kubernetes Node2节点&#xff1a;192.168.0.113 2、每台服务器主机都运行如下命令 system…

[html] 你喜欢哪种布局风格?说说你的理由

[html] 你喜欢哪种布局风格&#xff1f;说说你的理由 flex个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

异常:由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值...

异常:由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值 原因&#xff1a; 如果使用 Response.End、Response.Redirect 或 Server.Transfer 方法&#xff0c;将出现 ThreadAbortException 异常。您可以使用 try-catch 语句捕获此异常。 Response.End 方法终…

[html] 移动端如何让页面强制横屏显示?

[html] 移动端如何让页面强制横屏显示&#xff1f; 说个想法 不一定能实现web端的话 通过判断页面屏幕宽度&#xff08;这个得开陀螺仪权限吧&#xff09; 然后经行div旋转个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷…

多项目加载顺序修改_React推出并发模式:可中断渲染、指定加载顺序、并行处理多状态...

警告&#xff1a;本文档介绍的实验功能在稳定版本中尚不可用。不要在生产应用程序中依赖 React 的实验性构建。这些功能可能会发生重大更改&#xff0c;而且直到功能成为 React 的一部分之前这类更改都不会发出警告。本文档面向早期使用者和对此感兴趣的用户。如果你不熟悉 Rea…