雯波纳契黄金分割数列

波纳契是欧洲中世纪的数学家,生于意大利的比萨。1202年,菲波纳契在他的著作《算盘书》中提出了一个有趣的兔子问题。 
“假定一对刚出生的小兔一个月后就能长成大兔。再过一个月后便能生下一对小兔,并且此后每个月都生一对小兔,而且小兔子的生育能力也同他们的父母一样。如果一年内没有发生死亡,那么,由一对刚出生的兔子开始,12个月后会有多少对兔子呢?” 


因为小兔子从出生到能够生育需要两个月的时间,所以从第3个月开始才会有小兔子出生。此后,每个月的兔子由两部分组成,一部分是上个月就有的兔子,另一部分是新出生的兔子。前者的对数无疑等于上个月的兔子对数,后者的对数应该等于两个月前兔子的对数,这是因为那时的老兔子这个月仍然继续生育,而那时的小兔子这个月已经开始生育了。


方法一:


public class Demo

/**数组实现雯波纳契黄金分割数列
*归递
*/
{


public static void main(String[]args)
  {

System.out.println(Fbi(24));

  }
public static int Fbi(int i)
     {
if(i<2)return i==0?0:1;
return Fbi(i-1)+Fbi(i-2);
     

     }


}

方法二:迭送


public class Demo1


{


public static void main(String args[]) {  
      
    int R[] = new int[12];  //每月的兔子数  
      
    R[0] = 1;  //第一月份的兔子数  
      
    R[1] = 1;  //第二月份的兔子书  
      
    for (int a = 2 ; a < 12; a++) {  
        R[a] = R[a-1] + R[a-2];    
        System.out.println(R[a]);  
    }  
}  


}


方法三:


import java.util.Scanner;
public class Wbnq
{


public static void main(String args [] )
  {
  int n,fn;//n为第n项,fn为n的第n项的值
  java.util.Scanner sc = new Scanner(System.in);
   n=sc.nextInt();
  fn=function(n);


System.out.println("雯波纳契数列第"+n+"项为:"+fn); 




  }
public static int function(int n)


    {


if(n==1||n==2)return 1;


       return function(n-1)+function(n-2);


    }


}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值