/*題目:猴子喫桃問題:猴子第一天摘下若干個桃子,當即吃了一半,還不癮,又多吃了一個

/*題目:猴子喫桃問題:猴子第一天摘下若干個桃子,當即吃了一半,還不癮,又多吃了一個 
 *   第二天早上又將剩下的桃子喫掉一半,又多吃了一個。
 *   以後每天早上都吃了前一天剩下   的一半零一個。
 *   到第10天早上想再喫時,見只剩下一個桃子了。求第一天共摘了多少。   
1.程序分析:採取逆向思維的方法,從後往前推斷。   */
public class Peach1 {
	public static void main(String[]args){
		int total = 1;
		int day = 10;
		for(int i = 10;i > 0;i--){
			System.out.println("第"+day+"天,有桃子"+total+"顆");
			total = (total + 1) * 2;
			day--;
		}
	}
}


  方法二:

import java.util.Scanner;

/*題目:猴子喫桃問題:猴子第一天摘下若干個桃子,當即吃了一半,還不癮,又多吃了一個 
 *   第二天早上又將剩下的桃子喫掉一半,又多吃了一個。
 *   以後每天早上都吃了前一天剩下   的一半零一個。
 *   到第10天早上想再喫時,見只剩下一個桃子了。求第n天共還有多少桃子。   
1.程序分析:採取逆向思維的方法,從後往前推斷。   */

public class Peach2 {
	public static void main(String[]args){
		Scanner in = new Scanner(System.in);
		int arr[] = new int[11];
		int total = 1;
		System.out.println("請輸入你要知道第幾天的桃子數:");
		int n = in.nextInt();
		
		for(int i = 10;i >= 0;i--){
			arr[i] = total;
			total = (total + 1) * 2;
		}
		
		if(n == 0){
			System.out.println("不合邏輯,請重新輸入:");
		}else{
			System.out.println("第"+n+"天,有桃子"+arr[n]+"顆");
			
		}
	}
}


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章