经典兔子问题java解决

2023-10-29

经典兔子问题

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

#解题思路 我们可以观察到第一个月1对兔子,第二个月1对兔子,第三个月2对兔子,第三个月3对兔子,第四个月5对,第六个月8对,以此类推,我们可以得到一个规律,1,1,2,3,5,8,13…

经过推导我们发现从第三个月开始,当前月的总数等于前两个月的总数相加,即f(x)=f(x-1)+f(x+2);

方法一:我们先从基本Java编程开始

public static void main(String[] args) {
		int f1=1;
		int f2=1;
		int f;
		for (int i = 3; i <20; i++) {
			f=f1+f2;
			System.out.println("第"+i+"月总数为"+f);
			int t;
			t=f2;
			f2=f;
			f1=t;
		}
}

运行结果结果

方法二:我们用递归算法来求解

public static void main(String[] args) {
for (int i = 1; i < 20; i++) {
			System.out.println("第"+i+"月的兔子总数为"+f(i));
		}
	}
	public static int f(int x) {
		if (x==1||x==2) {
			return 1;
		}else {
			return f(x-1)+f(x-2);
		}
}

运行结果截图

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

经典兔子问题java解决 的相关文章

随机推荐

  • go第三方库文档 json处理json-iterator

    package main import fmt jsoniter github com json iterator go strings type data struct F43 float64 json f43 F80 string js
  • git保存用户名和密码,不用每次输入账号

    实验环境 window10 安装git tortoiseGit 打开 gitconfig 在 credential 下增加一项 helper store
  • c语言程序设计答辩时我要说什么,实训答辩的流程开场白

    毕业论文答辩开场白和结束语 各位老师 下午好 我叫 是知 级 班的学生 我的论文题目是 论文是在 导师的悉心指点下完成的 在这里我向我的导师表示深深的谢意 向各位老师不辞辛苦参加我的论文答辩表示衷心的感谢 并对四年来我有机会聆听教诲的各位老
  • [需求管理-6]:需求分析 - 技术可行性研究与方案设计模板

    目录 第1章 技术可行性研究概述 1 1 什么是可行性研究 1 2 什么是技术可行性研究 1 3 技术可行性研究发生的时机和条件 1 4 为什么要做技术可行性研究 1 5 核心概念澄清 1 5 UML与系统架构描述 第2章 技术可行性研究范
  • 为什么ChatGPT的用户体验如此强大

    短短三个月的时间 OpenAI的应 ChatGPT就获得了大量的用户 人气的迅速上升导致一些人预测 ChatGPT 不仅会扰乱搜索引擎 还会扰乱电子学习 写作和编辑等领域 该软件不仅是一个有趣的聊天机器人 您可以与之进行有趣的对话 而且还是
  • C# PDF添加骑缝章

    许多比较重要的文件比如合同等都有多页 在签订合同时 为了防止造假或更换页面 我们通常会选择给合同文件加盖骑缝章 这篇文章将介绍如何使用 NET PDF组件Spire PDF for NET在C 应用程序中实现给PDF合同文件加盖骑缝章 引用
  • 阿里云大数据ACP认证学习笔记

    阿里云大数据ACP认证学习笔记 1 大数据基础 2 大数据计算服务Maxcompute 2 1基础知识 2 1 1购买Maxcompute并创建项目增加子用户 2 1 2创建ODPS 2 1 3maxcompute的命令行客户端odpscm
  • 优化命令之sar——最牛命令

    目录 一 sar命令概述 1 1sar概述 1 2sar常用选项 1 3常用参数 二 CPU资源监控 2 1整体CPU使用统计 u 2 2各个CPU使用统计 P 2 3将CPU使用情况保存到文件中 三 内存监控 3 1内存和交换空间监控 3
  • 云计算相关---初探

    SAE Sina App Engine Sina App Engine SAE 是由新浪公司开发和运营的开放云计算平台的核心组成部分 SAE的目标是实现互联网应用在开发运维上的无缝整合 为App开发者提供稳定 快捷 透明 可控的服务化的平台
  • GBase 8c 使用之执行SQL语句

    应用程序通过执行SQL语句来操作数据库的数据 不用传递参数的语句 需要按以下步骤执行 1 调用Connection的createStatement方法创建语句对象 Connection conn DriverManager getConne
  • 跨站请求伪造CSRF防护方法

    CSRF Cross site request forgery跨站请求伪造 也被称成为 one click attack 或者session riding 通常缩写为CSRF或者XSRF 是一种对网站的恶意利用 AD 51CTO 网 第十二
  • 图的深度优先遍历和广度优先遍历算法流程图

    图的存储结构 邻接表表示方法 适用于有向图和无向图 图的遍历 从图的某顶点出发 访问图中所有顶点 并且每个顶点仅访问一次 图中可能有回路 遍历可能沿回路又回到已遍历过的结点 为避免同一顶点被多次访问 必须为每个被访问的顶点作一标志 为此引入
  • 辐射发射测试软件,辐射发射(Radiated Emission)测试方法详解

    辐射发射 Radiated Emission 测试 是测量EUT通过空间传播的辐射骚扰场强 可以分为磁场辐射 电场辐射 前者针对灯具和电磁炉 后者则应用普遍 另外 家电和电动工具 AV产品的辅助设备有功率辐射的要求 称为骚扰功率 1 测试标
  • 质量管理五大工具七大方法、质量控制之系列文章

    目录 五大工具 APQP FMEA MSA PPAP SPC 七大手法 检查表 层别法 柏拉图 因果图 散布图 直方图 控制图 现场抽样法 工具 质量管理五五大工具七大方法工具 质量管理五 NO 32 原创 管理工具距离我们有多远 NO 1
  • 颠倒字节数组

    public static void main String args byte a 10 0 80 68 53 for int i 0 i
  • 数据结构小白之斐波那契查找

    1 斐波那契数列的简单介绍 摘自百度 斐波那契数列 Fibonacci sequence 又称黄金分割数列 因数学家列昂纳多 斐波那契 Leonardoda Fibonacci 以兔子繁殖为例子而引入 故又称为 兔子数列 指的是这样一个数列
  • java 时区错乱,设置了时区的SimpleDateFormat获取正确的值,但时区错误

    我在Spring应用程序中进行了一个简单的测试 该应用程序的默认时区设置为UTC SpringBootApplication public class MemberIntegrationApp Autowired private TimeZ
  • redis HyperLogLog,看这篇就够了

    文章目录 前言 一 动手试试 1 添加 2 统计 3 合并 二 原理 1 伯努利过程 2 HyperLogLog 2 1 工作原理 2 2 占用内存大小 2 3 内存优化 3 数据编码 3 1 稀疏编码 3 2 密集编码 3 3 转码 前言
  • WebAssebmly初级——调试C++代码(三)

    系列文章目录 WebAssebmly初级 文章目录 系列文章目录 前言 一 安装扩展程序 二 使用 1 生成 2 开启调试 前言 对于一个研发来说 写代码可以在许多编译器上编写 编译器体验感对于写代码来说可以是相当重要 可是更影响程序员体验
  • 经典兔子问题java解决

    经典兔子问题 题目 古典问题 有一对兔子 从出生后第 3 个月起每个月都生一对兔子 小兔子长到第三个月后每个月又生一对兔子 假如兔子都不死 问每个月的兔子总数为多少 解题思路 我们可以观察到第一个月1对兔子 第二个月1对兔子 第三个月2对兔