zoukankan      html  css  js  c++  java
  • 4.古典问题:有一对兔子(斐波那契数列)

    题目:

    /**
    * 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,
    * 小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个
    * 月的兔子总数为多少?
    *
    */

    解析:

    /**
    * 1.这是一个斐波那契数列,第三个数等于前两个数之和
    * 2.定义变量,第一个数,第二个数,第三个数,都会随着月数的变化而变化
    * 总而言之就是动态的
    * 第一,第二,第三都是相对的
    */

    public class Programmer1 {
        
        public static void main(String[] args) {
            /**
             * 1.这是一个斐波那契数列,第三个数等于前两个数之和
             * 2.定义变量,第一个数,第二个数,第三个数,都会随着月数的变化而变化
             * 总而言之就是动态的
             * 第一,第二,第三都是相对的
             */
            int first = 1;
            int second = 1;
            int third ;
            for(int month=1;month<25;month++){
                if(month>2){
                    third = first +second;
                    first = second;
                    second =third;
                    System.out.println("第"+month+"个月有"+third+"对兔子");
                }else{
                    System.out.println("第"+month+"个月有"+first+"对兔子");
                }
            }
            
            System.out.println("-------------------------用数组实现---------------------");
            
            /**
             * 用数组实现菲波那切数列数列
             * 1.定义一个数组来存储兔子的对数
             * 2.第一,第二个数赋值为1
             * 
             */
            int[] arr = new int[24];
            arr[0]=1;
            arr[1]=1;
            for(int i=2;i<arr.length;i++){
                arr[i]=arr[i-1]+arr[i-2];
                System.out.println("第"+(i+1)+"个月有"+arr[i]+"对兔子");    
            }
                
            
        }
    
    }

     结果:

    第1个月有1对兔子
    第2个月有1对兔子
    第3个月有2对兔子
    第4个月有3对兔子
    第5个月有5对兔子
    第6个月有8对兔子
    第7个月有13对兔子
    第8个月有21对兔子
    第9个月有34对兔子
    第10个月有55对兔子
    第11个月有89对兔子
    第12个月有144对兔子
    第13个月有233对兔子
    第14个月有377对兔子

  • 相关阅读:
    数据库系统原理
    Java并发编程详解读书笔记(一)
    Java基础之String
    Java基础之数据类型
    winform BackgroundWorker控件的用法
    汉子转拼音
    model验证(验证登录、注册...)
    Ajax.BeginForm 异步搜索
    Ajax.ActionLink 辅助方法实现局部刷新
    js 随笔
  • 原文地址:https://www.cnblogs.com/xyblogs/p/9376889.html
Copyright © 2011-2022 走看看