斐波那契数列(Fibonacci)
有一对兔子,出生后第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)相关推荐
- matlab 斐波那契数列Fibonacci Sequence
斐波那契数列Fibonacci Sequence 主代码 %% 清理可能存在的旧数据 clc; % 清屏 clear; % 清除变量 close; % 关闭可能存在的窗口 %% 调用主要代码 n = ...
- JavaScript实现以数组形式返回斐波那契数列fibonacci算法(附完整源码)
JavaScript实现以数组形式返回斐波那契数列fibonacci算法(附完整源码) fibonacci.js完整源代码 fibonacci.js完整源代码 export default funct ...
- 斐波那契数列(Fibonacci) - 这就是算法吗?爱了爱了
斐波那契数列(Fibonacci) 今天开始做牛客的剑指Offie,一看到斐波那契我就想到递归,是它是它就是它,然后我就满怀期待地写下了下面地代码.ok,没问题,一次性过.然而,我滴老天鹅,才击败30 ...
- 求解斐波那契数列(Fibonacci Numbers)算法居然有9种,你知道哪几种吗?
By LongLuo 斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为&q ...
- Java数据结构与算法---斐波那契数列Fibonacci
Java数据结构与算法-斐波那契数列Fibonacci 原理都很简单,直接上代码: package cn.m_fibonacci;public class Fibonacci {public stat ...
- 斐波那契数列 (Fibonacci) 多种实现方法(Python)与详细介绍
斐波那契数列 Fibonacci Sequence 本文介绍了多种方式得到斐波那契数列或斐波那契数.斐波那契数列也称为"兔子数列".来源于兔子繁殖的预测.它的重要性体现在相邻两数之 ...
- JAVA编程:斐波那契数列(Fibonacci)
JAVA编程09:斐波那契数列(Fibonacci),输入一个数据n,计算[斐波那契数]列(Fibonacci)的第n个值 需调用run9方法 /*输入一个数据n,计算[斐波那契数]列(Fibonac ...
- Java实现斐波那契数列Fibonacci
import java.util.Scanner; public class Fibonacci {public static void main(String[] args) {// TODO Au ...
- python利用递归函数实现斐波那契数列_Python使用while循环输出斐波那契数列(Fibonacci)...
斐波那契数列又称费波那契数列(意大利语:Successione di Fibonacci),又译为费波拿契数.斐波那契数列.费氏数列.黄金分割数列.在西方,首先研究这个数列的是比萨的列奥那多(意大利人 ...
- 斐波那契数列(fibonacci)计算黄金分割比
斐波那契数列第一个元素是0,第二个元素是1,下一个元素就是上两个元素之和. 瞅瞅代码(Python) def fibonacci(n):terms = [0,1]i=2while i<=n:te ...
最新文章
- GAN最新进展:8大技巧提高稳定性
- 一切都是问题,一切都着落在自身
- js 小数取整的函数
- h3c 虚拟服务器 下一跳,H3CNE 312题和313题 直连路由静态路由的下一跳问题
- PDH光端机的作用及其特点
- 初等数论及其应用——中国剩余定理
- gnu.getopt java_c – 用于GNU getopt()的-W选项是什么?
- MySQL系列:数据库基本操作(1)
- 【人脸识别】arcface详解
- 1.10 长短期记忆(LSTM)
- 修改docx表格_实例29_在Word表格中将上下行相同内容的单元格自动合并
- 扩展空间_实用!Win10开启SMB共享的方法,给GPD MicroPc扩展更多存储空间
- C++教程:C++工程构建常用工具有哪些?
- 解决win 7的Aero Peek无效的方法
- Android 录制gif图
- 如何在免费的第三方服务器上运维微信公众号
- 转载:ultraiso制作超过4G的系统U盘启动盘教程
- 瑞星千万巨款贿赂官员 制造冤狱铲除竞争对手图片
- 一年中有12个月,每个月的天数是不一样的,其中有7个月为31天称为大月,分别为1,3,5,7,8,10,12月, 有4个月为30天,称为小月,分别为4,6,9,11月,还有二月较特殊,平年的二月有28
- web课程设计 基于html+css+javascript+jquery女性化妆品商城
热门文章
- 地壳中元素含量排名记忆口诀_【化学好好玩】用口诀帮你速记忆化学知识
- 服务器配置ipv6网站,服务器配置ipv6地址
- linux 隧道服务器,Linux下建立和使用隧道访问IPV6网络的方法 - 如何用隧道搭建ipv6...
- 学海无涯!我总结了所有面试题,含答案解析
- 读书笔记之《随机漫步的傻瓜》
- 【七夕节特刊】开源世界里的爱情保卫战
- 深度学习分类问题中accuracy等评价指标的理解
- namecheap域名注册商怎么样?可以注册哪些后缀域名?
- python生成Excel透视表
- 看机器学习如何预测债券收益率