一、猴子吃桃问题?
1.问题描述
猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。 第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃了前一天剩下的一半零一个。 到第N天早上想再吃时,见只剩下一个桃子了。求第一天共摘多少桃子。
2.输入格式
N
3.输出格式
桃子总数
4.样例输入
10
5.样例输出
1534
二、我的思路
列出桃子数量与天数的关系
逆向思维,从第N天起推出第一天桃子的数量,由上表可以得到这样的关系,t(前)=(t+1)*2;利用循环可以得到第一天的桃子总数。
三、java源程序代码
代码:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int day = scanner.nextInt(); //day吃桃的天数
int total = 1; //第day天时,桃子数量为1
for(int i = day-1;i>=1;i--)
{
total=(total+1)*2;
}
System.out.println(total);
}
}
欢迎大家批评指正!!!