1. 程式人生 > >2017-11-06

2017-11-06

mon ++ log args 中間 輸入 number 某月 system

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; } }

2017-11-06