Java基础——斐波那契数列问题之兔子不死会有几只兔子
已知:斐波那契数列的前几个数分别为0,1,1,2,3,5…从第三项开始,每一项都等于前两项的和.请接收用户输入的整数n,求出此数列的前n项.
效果如图:
思路:// 0, 1, 1, 2, 3, 5...
//第一次 num1 num2 num3 num3=num1+num2;
//第二次 num1 num2 num3 num3=num1+num2;
直接定义出num1和num2并赋值为0,1;再定义个num3,放在循环中如上所示进行计算。
代码及详情如下:
// 0, 1, 1, 2, 3, 5...//第一次 num1 num2 num3 //第二次 num1 num2 num3//……依次后移,就是我们循环体的意思,最后第n项就是num3int num1=0,num2=1,num3=0; //num3用规律算,不直接赋值出来System.out.println("请输入你要测试的数:");Scanner scanner=new Scanner(System.in);int n=scanner.nextInt();//接收用户输入的数//判断输入的数有无问题if(n<1)System.out.println("输入错误!退出!");//判断输入的数是否是前两个,因为前两个数我们直接知道且无法用规律算if(n==1)System.out.println("第"+n+"项为:"+num1);if(n==2) {System.out.println("第"+n+"项为:"+num2);//输出值System.out.println("该排列为:"+num1+","+num2);//输出排列}if(n>2){//第三个数开始System.out.print("该排列为:"+num1+","+num2);//将后面的排列与前面的排列拼接在一起for(int i=2;i<n;i++) {num3=num1+num2;num1=num2;num2=num3;System.out.print(","+num3);}}//输出第n项的值System.out.println();//第n项值和排列中间换个行System.out.println("第"+n+"项为:"+num3);}
然后我们再看一道经典题目:
古典问题(兔子生崽):有一对兔子,从出生后第3个月起每个月都生一对兔子,
小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,
问每个月的兔子总数为多少?(输出前40个月即可)
程序分析:兔子的规律为数列1, 1, 2, 3, 5, 8, 13, 21....,
即下个月是上两个月之和(从第三个月开始)。
结果如下图:
代码及详情如下:
//程序分析:兔子的规律为数列1, 1, 2, 3, 5, 8, 13, 21....,
//即下个月是上两个月之和(从第三个月开始)。
//要求:一行只打印五个月的兔子数
int num1=1,num2=1,num3=0; //num3用规律算,不直接赋值出来
int count=0;//计数器,记一行打印了多少次
System.out.printf("%12d%12d",num1,num2);
//前两个月的兔子数直接输出,因为数据太大所以用%12d固定
count=count+2;//这里打印了两个月的所以加个2,也可以直接在定义时初始化为2
for(int i=2;i<40;i++) { //从三月开始输出前四十个月的每月兔子数num3=num1+num2;num1=num2;num2=num3;System.out.printf("%12d",num3);count++;if(count==5){System.out.println(); //一排打印了五个就换行count=0; //然后将count重置为0,继续下一行的打印计数}
}
想设置一个好看的eclipse背景? 超详细图文介绍
Java基础——斐波那契数列问题之兔子不死会有几只兔子相关推荐
- java判断斐波那契数列_Java 实例 - 斐波那契数列
Java 实例 - 斐波那契数列 斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597, ...
- Java实现斐波那契数列Fibonacci
import java.util.Scanner; public class Fibonacci {public static void main(String[] args) {// TODO Au ...
- Think in Java之斐波那契数列
斐波纳契数列(Fibonacci Sequence),又称黄金分割数列. 指的是这样一个数列:1.1.2.3.5.8.13.21.--这个数列从第三项开始,每一项都等于前两项之和. 在数学上,斐波纳契 ...
- 【java】斐波那契数列
开门见山 斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为"兔子数列 ...
- java实现斐波拉契数列
package algorithm.cxg.Fibonacci;import java.util.Scanner;/*** 实现斐波拉切函数* 斐波拉切数列:* 由0和1开始,之后的费波那西系数就由之 ...
- Java实现斐波那契数列与黄金分割比精确位数问题
题目: 打印输出斐波拉契数列的位数,以及对应的黄金分割值的准确位数,例如(11,4),既是利用11位的斐波拉契数列计算得到的黄金分割数可以准确到小数点后四位.设定一个具体的精确度(例如小数点后10位) ...
- JAVA实现斐波那契数列问题(《剑指offer》)
题目描述: 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项. 传说中的斐波那契数列问题,经典中的经典: 做多了基于斐波那契数列问题的变形题目,现在要干撸斐波那契数列,突然 ...
- 语言运行泰博那契数列_波浪理论的数字基础-斐波那契数列
波浪理论数学结构-斐波那契数列与黄金分割率 波浪理论的推动浪,浪形为5(1.2.3.4.5),调整浪的浪型为3(a/b/c),合起来为8.若把波浪细化,大的推动浪又可分为1.3.5浪为推动.2.4为调 ...
- java解决斐波那契数列(Fibonacci sequence)
斐波那契数列(Fibonacci sequence)的定义:斐波那契数列指的是这样一个数列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610 ...
最新文章
- linux设置关闭省电模式
- python参数_python参数的介绍
- 前端学习(2962):前一天回顾
- EXT.NET复杂布局(二)——报表
- TVM:交叉编译和RPC
- 详解pager-taglib-2.0配合SSH分页
- 有了这款低代码工具,开发可以告别996啦
- html5中event获取data和class
- linux学习笔记-文件属性基本知识
- web渗透测试----14、CSRF(跨站请求伪造攻击)
- jq ui-selectable中click单击事件,dblclick双击事件无效
- 云计算机资源池,IaaS云资源池-云计算.PDF
- [Joy]冷笑话急转弯
- echarts图例动态置灰
- 英伟达 Magic3D:一句话生成3D模型,分辨率清晰8倍,速度快2倍,编辑文本还可直接修改...
- 月入3w+,6年经验测试开发工程师,见识到了真正意义上的测试天花板
- Proteus 中 Virtual Terminal无法自动弹出窗口的问题的解决
- 一篇带你读懂用户故事地图
- CTR/CVR预测模型的特征怎么找?不同类型特征怎么处理?序列Embedding特征怎么用?
- Harbor安装教程-完全根据官方文档2.6.0版本