需求:

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

分析:

这是一个斐波那契数列数列问题

同样,它的突破口在三个月之后开始,界定第一个月数目为1,第二个月也是1,从第三个月开始计算第一次出生的兔子数

月份 对数
1 1
2 1
3 2
4 3
5 5
6 8
7 13
...... ......

通过分析,可以看出当月份为n时,兔子的对数为前两个之和,设对数为函数f(n),则有:

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

这是一个斐波那切数列,所以转化为求解斐波那切数列问题;

代码实现:

import java.util.Scanner;public class Test {public static void main(String[] args) {System.out.println("请月份数:");Scanner s = new Scanner(System.in);int n = s.nextInt();System.out.println("总数:"+"\n"+f(n));}public static int f(int n) {if(n!=1&&n!=2) {if(n!=3) {return f(n-1)+f(n-2);}return 2;}else return 1;}}

分析:

  1. 首先,当位数为1时返回值为1;位数为2时返回1;当位数为3时,其返回值为2;因为他们是起始值;
  2. 然后,当位数为4时,其返回值 = 3 = 2 + 1;

当位数为5时,其返回值 = 5 = 3 + 2;

当位数为6时,其返回值 = 8 = 5 + 3;

当位数为7时,其返回值 = 13 = 8 + 5;

当位数为8时,其返回值 = 21 = 13+8;

......

所以由以上可得,大于等于3的情况下,当前位数的值

f  (n) = f(n-1)+  f(n-2)。

输出示例为

请月份数:
7
总数:
13

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

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

    古典问题: 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 方法一:简单方法 month = int(input( ...

  2. C语言实现,古典问题(兔子生崽):有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?(输出前40个月即可)

    题目:古典问题(兔子生崽):有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子, 假如兔子都不死,问每个月的兔子总数为多少?(输出前40个月即可) 程序分析:兔子 ...

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

    题目:古典问题(兔子生崽):有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?((输出前40个月) 题目分析: 由题意 ...

  4. 古典问题(兔子生崽):有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?(输出前40个月即可)

    古典问题(兔子生崽):有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?(输出前40个月即可) 先将前几个月的兔子数量 ...

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

    public static void main(String[] args) {/** 9.古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,* 假如 ...

  6. Java基础算法题(02):古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

    查看所有50道基础算法题请看: Java的50道基础算法题 递归的方法 package Demo02Rabbits; import java.util.Scanner; public class Ra ...

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

    思路分析: 月份          兔子数                  说明 1      1(对)            从开始有一对兔子 2      1 3      1+1        ...

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

    有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少? 由图可知, 第一个月是小兔子,是一对小兔子 第二个月从小兔子变成大 ...

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

    古典问题 需求 古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子假如兔子都不死,问第n个月的兔子对数为多少? 问题分析 预想效果 代码实现 (~~~~ ...

最新文章

  1. 解决windows远程(Telnet)最大连接数的问题
  2. html5 type submit,input type=submit
  3. .NET项目版本号的小随笔
  4. 【解决问题】idea启动本地tomcat访问localhost:8080报404错误
  5. 安装 Win10 Ubuntu 16.04 双系统以及 Ubuntu 配置深度学习环境记录
  6. oracle 由32位迁移到64位的问题
  7. 如何做实时监控?—— 参考 Spring Boot 实现
  8. word排版快捷指令_Word怎么快速排版?这12招Word排版小技巧,3分钟完成一个Word文档...
  9. 电磁场与电磁波_您的大脑在电磁场上
  10. 深度学习--卷积神经网络
  11. OpenGL画三角形
  12. CTF|pwn栈溢出入门题level3解题思路及个人总结
  13. 【Unity】【Wwise】在Unity中获取某个Wwise事件的持续时间
  14. python爬虫反爬 css 知乎 专栏_python爬虫反反爬 | 像猫眼电影、大众点评等自定义 css 加密字体怎么破?...
  15. 初中数学结合计算机教学设计,初中数学课教学设计与信息技术的有效整合-精选教育文档...
  16. (最新react-native-0.59.5) 如何将ReactNative项目集成到现有得Android项目中(两种实现方法之一)
  17. 微信小程序在wxml页面中截取字符串
  18. js 将秒或毫秒 转化为时分秒格式
  19. Kinetis---TWR-KM34Z75M---AFE
  20. 帧动画和补间动画看这篇足够了

热门文章

  1. java测试驱动开发_java测试驱动开发(TDD)之《遥控军舰》
  2. 国外.edu邮箱,免费.edu教育邮箱申请
  3. 星梦PbootCMS安装方法及一些手册里没写到的东西
  4. java jar 签名_JAR包数字签名与验证
  5. java中多线程之CAS(compareAndSet),Unsafe类大白话详解.
  6. 橙光古风背景素材下载
  7. 用计算机能开通余利宝吗,余利宝怎么开通 余利宝开通流程和方法介绍
  8. textarea 去除边框
  9. 激活office提示“没有文件扩展.vbs引擎”
  10. 硬盘分区2----GPT与MBR的区别