一、题目
题目描述
猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。 第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃了前一天剩下的一半零一个。 到第N天早上想再吃时,见只剩下一个桃子了。求第一天共摘多少桃子。
输入格式
N
输出格式
桃子总数
样例输入
10
样例输出
1534
二、代码
分析:若干个挑子吃了一半有多一个,重复n天,最后一天还剩1个,那我们就可以逆向思维,假设只有一个桃子,每天得到的桃子数,为当前桃子数多1又2倍。
package dotcpp2;import java.util.Scanner;public class C猴子吃桃的问题 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);while(sc.hasNext()) {int n = sc.nextInt();int sum = 1;for(int i = 1; i <n; i++) {sum = (sum +1)* 2;}System.out.println(sum);}}
}