• 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);
            }
        }
    }
  • 相关阅读:
    Java图像处理
    Java图像处理
    Java文字图像识别(1)[88250原创]
    简单的Java图像处理程序
    英语、日语
    My First English Thread
    word的常用操作
    C++中结构体的的慨念和使用方法
    C#调用dll(C++(Win32))时的类型转换总结
    设置VS2008和IE8 调试ATL MFC ActiveX控件
  • 原文地址:https://www.cnblogs.com/mtlogs/p/4959055.html
Copyright © 2020-2023  润新知