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