有一对兔子,出生后第3个月起每个月都生一对免子。小兔子长到第3个月后每个月又生一对兔子。假设所有兔子都不死,问40个月的免子总数为多少?解题思路:
这是一个有趣的古典数学问题。可以从表1看出兔子繁殖的规律。
                                                       表1免子繁殖的规律

注:不满1个月的为小免子,满1个月不满2个月的为中免子,满3个月以上的为老免子。
可以看到每个月的兔子总数依次为1,1,2,3,5,8,13…,这就是有名的斐波那契(Fibonacci)数列。
这个数列有如下特点:第1、2两个数为1、1、从第3个数开始,该数是其前面两个数
之和。即:
F=1(n=1)
F:=1(n=2)
F,=F1+F3(n>=3)

解此题的算法如图2所示
现在要求Fibonacci数列的前40个数。根据流程图可
以写出程序。

public class Fibonacci {public static void main(String[] args) {long f1=1,f2=1,f3=0;System.out.printf("%12d%12d",f1,f2);for(int i=3;i<=40;i++){f3=f1+f2;f1=f2;f2=f3;System.out.printf("%12d",f3);if(i%4==0)System.out.print("\n");}}
}

运行结果:

程序分析:
(1)程序中变量f1和f2用了长整型,在printf函数中输出格式符用“%121d”,而不
是用“%12d”。在java中int型变量被分配2个字节,能存储的最大整数是32767,在
输出第23个数之后,输出的整数已超过32767.因此只有用长整型变量才能容纳。
(2)if语句的作用是使输出4个数后换行。i是循环变量,当i为偶数时换行,而i每
增值1,就要计算和输出2个数f3,因此i每隔2换一次行相当于每输出4个数后换
行输出。

斐波那契数列(Fibonacci)相关推荐

  1. matlab 斐波那契数列Fibonacci Sequence

    斐波那契数列Fibonacci Sequence 主代码 %% 清理可能存在的旧数据 clc; % 清屏 clear; % 清除变量 close; % 关闭可能存在的窗口 %% 调用主要代码 n = ...

  2. JavaScript实现以数组形式返回斐波那契数列fibonacci算法(附完整源码)

    JavaScript实现以数组形式返回斐波那契数列fibonacci算法(附完整源码) fibonacci.js完整源代码 fibonacci.js完整源代码 export default funct ...

  3. 斐波那契数列(Fibonacci) - 这就是算法吗?爱了爱了

    斐波那契数列(Fibonacci) 今天开始做牛客的剑指Offie,一看到斐波那契我就想到递归,是它是它就是它,然后我就满怀期待地写下了下面地代码.ok,没问题,一次性过.然而,我滴老天鹅,才击败30 ...

  4. 求解斐波那契数列(Fibonacci Numbers)算法居然有9种,你知道哪几种吗?

    By LongLuo 斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为&q ...

  5. Java数据结构与算法---斐波那契数列Fibonacci

    Java数据结构与算法-斐波那契数列Fibonacci 原理都很简单,直接上代码: package cn.m_fibonacci;public class Fibonacci {public stat ...

  6. 斐波那契数列 (Fibonacci) 多种实现方法(Python)与详细介绍

    斐波那契数列 Fibonacci Sequence 本文介绍了多种方式得到斐波那契数列或斐波那契数.斐波那契数列也称为"兔子数列".来源于兔子繁殖的预测.它的重要性体现在相邻两数之 ...

  7. JAVA编程:斐波那契数列(Fibonacci)

    JAVA编程09:斐波那契数列(Fibonacci),输入一个数据n,计算[斐波那契数]列(Fibonacci)的第n个值 需调用run9方法 /*输入一个数据n,计算[斐波那契数]列(Fibonac ...

  8. Java实现斐波那契数列Fibonacci

    import java.util.Scanner; public class Fibonacci {public static void main(String[] args) {// TODO Au ...

  9. python利用递归函数实现斐波那契数列_Python使用while循环输出斐波那契数列(Fibonacci)...

    斐波那契数列又称费波那契数列(意大利语:Successione di Fibonacci),又译为费波拿契数.斐波那契数列.费氏数列.黄金分割数列.在西方,首先研究这个数列的是比萨的列奥那多(意大利人 ...

  10. 斐波那契数列(fibonacci)计算黄金分割比

    斐波那契数列第一个元素是0,第二个元素是1,下一个元素就是上两个元素之和. 瞅瞅代码(Python) def fibonacci(n):terms = [0,1]i=2while i<=n:te ...

最新文章

  1. GAN最新进展:8大技巧提高稳定性
  2. 一切都是问题,一切都着落在自身
  3. js 小数取整的函数
  4. h3c 虚拟服务器 下一跳,H3CNE 312题和313题 直连路由静态路由的下一跳问题
  5. PDH光端机的作用及其特点
  6. 初等数论及其应用——中国剩余定理
  7. gnu.getopt java_c – 用于GNU getopt()的-W选项是什么?
  8. MySQL系列:数据库基本操作(1)
  9. 【人脸识别】arcface详解
  10. 1.10 长短期记忆(LSTM)
  11. 修改docx表格_实例29_在Word表格中将上下行相同内容的单元格自动合并
  12. 扩展空间_实用!Win10开启SMB共享的方法,给GPD MicroPc扩展更多存储空间
  13. C++教程:C++工程构建常用工具有哪些?
  14. 解决win 7的Aero Peek无效的方法
  15. Android 录制gif图
  16. 如何在免费的第三方服务器上运维微信公众号
  17. 转载:ultraiso制作超过4G的系统U盘启动盘教程
  18. 瑞星千万巨款贿赂官员 制造冤狱铲除竞争对手图片
  19. 一年中有12个月,每个月的天数是不一样的,其中有7个月为31天称为大月,分别为1,3,5,7,8,10,12月, 有4个月为30天,称为小月,分别为4,6,9,11月,还有二月较特殊,平年的二月有28
  20. web课程设计 基于html+css+javascript+jquery女性化妆品商城

热门文章

  1. 地壳中元素含量排名记忆口诀_【化学好好玩】用口诀帮你速记忆化学知识
  2. 服务器配置ipv6网站,服务器配置ipv6地址
  3. linux 隧道服务器,Linux下建立和使用隧道访问IPV6网络的方法 - 如何用隧道搭建ipv6...
  4. 学海无涯!我总结了所有面试题,含答案解析
  5. 读书笔记之《随机漫步的傻瓜》
  6. 【七夕节特刊】开源世界里的爱情保卫战
  7. 深度学习分类问题中accuracy等评价指标的理解
  8. namecheap域名注册商怎么样?可以注册哪些后缀域名?
  9. python生成Excel透视表
  10. 看机器学习如何预测债券收益率