代码如下:
/**
* Fibonacci 为 1200 年代的欧洲数学家,在他的著作中曾经提到: “若有一只免子每个月生一只
小免子,一个月后小免子也开始生产。起初只有一只免子,一个月后就有两只免子,二个月后有三
只免子,三个月后有五只免子(小免子投入生产)......” 。
这就是 Fibonacci 数列,一般习惯称之为费氏数列,例如以下:
1、1 、2、3、5、8、13、21、34、55、89......
解法:
依说明,我们可以将费氏数列定义为以下:
if n >= 2 then fn = fn-1 + fn-2
if n >=0 && n<2 then fn = 1
* @author Administrator
*
*/
public class Fibonacci {
public static int getNum(int index){
if(index>=0 && index <2){
return 1;
}else{
int a = index -2;
int b = index -1;
return getNum(a)+getNum(b);
}
}
public static void fibonacci(int index){
for(int i = 1;i<=index;i++){
System.out.print(getNum(i) +" ");
}
}
public static void main(String[] args) {
int month = 5;
int c = getNum(month);
System.out.println("第"+month+"个月兔子数量: "+c +"只");
fibonacci(5);
}
}