/*题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个
* 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。
* 以后每天早上都吃了前一天剩下 的一半零一个。
* 到第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]+"颗");
}
}
}