• 斐波那契数列-兔子问题


    /***********************************************************************************************
    *  题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,
    *  小兔子长到第三后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
      *  1.程序分析: 兔子(对)的规律为数列1,1,2,3,5,8,13,21....
    * @param args
    * 【斐波那契数列】
    **********************************************************************************************
    */

    /*
    * ********************************************************************************************
    * 斐波那契数列,又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、……在数学上,
    * 斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*)在现代物理、
    * 准晶体结构、化学等领域,斐波纳契数列都有直接的应用,为此,
    * 美国数学会从1960年代起出版了《斐波纳契数列》季刊,专门刊载这方面的研究成果。
    * http://baike.baidu.com/link?url=XDTUlQcoyEDY-TWFxNHEdfmm8TfGWQtc-prrMntdplt0TS3V3SSbNx94b7ED_IBV
    *********************************************************************************************
    */

      1. package com.arithmetic.text;  
      2.   
      3. public class RabbitCount {  
      4.   
      5.     /*********************************************************************************************** 
      6.      *  题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子, 
      7.      *  小兔子长到第三后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 
      8.      *  1.程序分析: 兔子(对)的规律为数列1,1,2,3,5,8,13,21.... 
      9.      * @param args 
      10.      * 【斐波那契数列】 
      11.      ********************************************************************************************** 
      12.      */  
      13.     public static void main(String[] args) {  
      14.         // TODO Auto-generated method stub  
      15.         int month = 0;// 以20个月为例进行试算  
      16.         for (month = 1; month < 20; month++)  
      17.             System.out.println(month + "月 兔子数量是 " + fibonacci(month) + " 对 ");  
      18.     }  
      19.   
      20.     /* 
      21.      * ******************************************************************************************** 
      22.      * 斐波那契数列,又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、……在数学上, 
      23.      * 斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*)在现代物理、 
      24.      * 准晶体结构、化学等领域,斐波纳契数列都有直接的应用,为此, 
      25.      * 美国数学会从1960年代起出版了《斐波纳契数列》季刊,专门刊载这方面的研究成果。 
      26.      * http://baike.baidu.com/link?url=XDTUlQcoyEDY-TWFxNHEdfmm8TfGWQtc-prrMntdplt0TS3V3SSbNx94b7ED_IBV 
      27.      ********************************************************************************************* 
      28.      */  
      29.     private static int fibonacci(int x) {  
      30.         if (x == 1 || x == 2)  
      31.             return 1;  
      32.         else  
      33.             return (fibonacci(x - 1) + fibonacci(x - 2));  
      34.     }  
      35.     /* 
      36.      * 根据数列规律,每项值都等于前两者之和 
      37.      */  
      38.     private static int fib(int x) {  
      39.         int m1 = 1 , m2 = 1 , temp;  
      40.         if (x == 1 || x == 2)  
      41.             return 1;  
      42.         else{  
      43.             for(int i = 3; i<=x; i++){  
      44.                 temp = m2;  
      45.                 m2 = m1 + m2;  
      46.                 m1 = temp;  
      47.             }  
      48.             return m2;  
      49.         }  
      50.     }  
      51.   
      52. }  
  • 相关阅读:
    苹果推送通知服务(APNs)编程
    Mac svn命令 linux同样适用
    IOS多线程(NSThread,NSOperation,Grand Central Dispatch)
    iOS7新特性之二维码生成于读取
    Socket即时通讯小实例
    iOS内置加速计(UIAccelerometer/CoreMotion)
    iOS设计模式----委托模式
    NSXMLParser详解
    Core Foundation 框架
    UIView和CALayer的区别
  • 原文地址:https://www.cnblogs.com/CodingAndRiding/p/7493640.html
Copyright © 2020-2023  润新知