黑马程序员技术交流社区
标题:
一个菲波拉契数列问题
[打印本页]
作者:
vincentgood
时间:
2013-11-19 01:10
标题:
一个菲波拉契数列问题
/*
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,
小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
这是一个菲波拉契数列问题
*/
import java.util.Scanner;
class Demo1
{
public static void main(String[] args)
{
Scanner input=new Scanner(System.in);
System.out.println("请输入月份:");
int month=input.nextInt();
int born=2,first=0,second=0,third=0;
for(int i=1;i<=month;i++)
{
third=third+second;
second=first;
first=born;//这是个什么嘛意思?
born=third;
int num=born+first+second+third;
System.out.println("第"+i+"个月的兔子是:"+num);
}
}
}
作者:
狼王
时间:
2013-11-19 10:50
这个算法挺经典的。。。
作者:
小骁叔
时间:
2013-11-19 10:53
我当时是这样解决这个问题的,代码有点长、class Fibonacci
{
public static void main(String []args){
boolean flag=true;
while(flag){
System.out.println(" Please enter a month ");
Scanner scanner= new Scanner(System.in);
String str=scanner.nextLine();
int in=Integer.parseInt(str);
if(in<=0) System.out.println("月份输入有误,请不要输入负数或0");
else
System.out.println("该月份的兔子数目为: "+fibn(in)+"(只)");
}
}
public static int fibn(int a){
if(a==1||a==2)
return 2;
else
return fibn(a-1)+fibn(a-2);
}
作者:
小骁叔
时间:
2013-11-19 10:54
用递归算法很简单的
作者:
小骁叔
时间:
2013-11-19 10:55
我也是为了技术分才来的,唉,无语
作者:
无所谓啦
时间:
2014-5-27 17:28
小白来顶
作者:
Baymax
时间:
2015-5-30 09:30
学习学习
作者:
hejin67410
时间:
2015-9-5 22:11
想起高中时学数列了
作者:
1826888717
时间:
2015-10-29 14:46
这个题目建议用递归
作者:
Makeit
时间:
2015-11-7 22:26
经典,经典,经典
作者:
waimifeier
时间:
2015-11-21 00:38
用数组也可以
作者:
android_921
时间:
2015-12-19 00:45
支持递归
作者:
android_921
时间:
2015-12-19 21:38
狼王 发表于 2013-11-19 10:50
这个算法挺经典的。。。
经典的递归算法
作者:
novazjd
时间:
2016-2-5 23:20
小白进来观摩
作者:
15266913109
时间:
2016-2-10 13:15
好东西,顶一下
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2