zoukankan      html  css  js  c++  java
  • 2017-11-06

    Program:

    有一对兔子,从出生后第3个月起每个月都生一对兔子,

    小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,

    问每个月的兔子总数为多少?

    Analysis:从第一个月开始兔子的对数依次为:1,1,2,3,5,8......

    从第三个月开始,每个月的兔子对数为前两月的和

    代码实现如下:

    /*
     * Date Written:2017-11-06
     * */
    
    import java.util.Scanner;
    
    public class TestDemo {
    
        public static void main(String args[]) {
            
            System.out.println( "请输入目标月份:" );
            Scanner scan = new Scanner(System.in);
            int month = scan.nextInt();                //取得用户输入
            
            System.out.println( "第" + month + "个月兔子总数:" + getNumber(month) + "对" );
            
        }
        
        //求解某月兔子的总对数
        public static int getNumber(int month) {
            
            int total = 1;        //记录兔子总对数,并初始化为1
            int num1 = 1;         //记录当前月份的前一个月的兔子总对数
            int num2 = 1;         //记录当前月份的兔子总对数
            int num = 0;          //交换时的中间值
                
            for( int i = 3; i <= month; i++ ) {            //从第三月分开始计算
                    
                num = num1;
                num1 = num2;
                num2 += num;
                    
                total = num2;
            }
                
            return total;
            
        }
        
        
        
        
    }
  • 相关阅读:
    图论
    城市吸引力指数
    bzoj3529(莫比乌斯反演+离线+树状数组)
    强制关闭tomcat
    bzoj2154(莫比乌斯反演)
    等差数列求和模板
    联想的显示屏校准(困难)
    bzoj2301(莫比乌斯反演)
    莫比乌斯反演模版
    菜鸟物流的运输网络(网络流)
  • 原文地址:https://www.cnblogs.com/caizhen/p/7792562.html
Copyright © 2011-2022 走看看