算法:斐波那契兔子问题

古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?   
1.程序分析:   兔子的规律为数列1,1,2,3,5,8,13,21....   

实现,输入适当月份,可得知该月份的兔子数目的功能。


import java.util.Scanner;


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);
 

 
}


}


可不断选择月份输入,得出相应兔子数目

算法:斐波那契兔子问题_第1张图片算法:斐波那契兔子问题_第2张图片






你可能感兴趣的:(算法类)