zoukankan      html  css  js  c++  java
  • java 每日习题(三)兔子问题

    /*
    * Java练习题:兔子问题

    此问题又叫斐波那契数列(Fabonacci),是最先研究这个数列的人是比萨的列奥那多(又名费波那契),他描述兔子生长的数目时用上了这数列。

    第一个月有一对刚诞生的兔子
    第二个月之后它们可以生育
    每月每对可生育的兔子会诞生下一对新兔子
    兔子永不死去
    */

    package everyDay;
    
    
    public class Tutu {
    
        public static void main(String[] args) {
    
            int month = 12;
            int sum;
            int L1 = 1;
            int newL1;
            int L2 = 0;
            int newL2;
            int L3 = 0;
            int newL3;
    
            for (int i = 1; i <= month; i++) {
                sum = L1 + L2 + L3;
    
                System.out.println("sum: " + sum);
    
                newL2 = L1;// L1 升级 L2
    
                newL3 = L2;// L2 升级 L3
    
                newL1 = L3 + newL3;// L3 生产 L1
    
                L1 = newL1;
     
                L2 = newL2;
    
                L3 = L3 + newL3;
    
            }
    
        }
    
    }
    View Code

     网上找的方法不清楚为什么初始化n1,n2都是1

    import java.util.Scanner;
    
    public class Tutu2 {
        public static void main(String[] args){
            int n1,n2,n3,month;   //n1,n2,n3 用作每月兔子数目的传递
            System.out.print("请输入需要计算的月份数:");
            Scanner sc=new Scanner(System.in);
            month=sc.nextInt();
            n1=1;
            n2=1;
            System.out.println("第1个月的兔子对数:"+n1);
            System.out.println("第2个月的兔子对数:"+n2);
            //依次传递,只需一次运算
            for(int i=1;i<month;i++) {
                n3=n1+n2;
                n1=n2;
                n2=n3;
                System.out.println("第"+month+"个月的兔子对数:"+n3);
            }
        }
    }
  • 相关阅读:
    潜水员(二维DP)
    开餐馆(OJ 6045)
    石子归并(区间DP)
    庆功会(多重背包)
    JavaScript案例三:动态显示时间
    JavaScript案例二:在末尾添加节点
    JavaScript案例一:Window弹窗案例
    JavaScript BOM对象介绍
    JavaScript模拟函数重载
    MapReduce作业和任务
  • 原文地址:https://www.cnblogs.com/mtlogs/p/4959055.html
Copyright © 2011-2022 走看看