一只猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个;第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半加一个。到第 N 天早上想再吃时,见只剩下一个桃子了。问:第一天共摘了多少个桃子?
输入格式:
输入在一行中给出正整数 N(1 < N ≤ 10)。
输出格式:
在一行中输出第一天共摘了多少个桃子。
输入样例:
3
输出样例:
10
来源:
来源:PTA | 程序设计类实验辅助教学平台
链接:https://pintia.cn/problem-sets/12/exam/problems/296
提交:
题解:
#include<stdio.h>
int main() {
int N;
scanf("%d", &N);
// 第 N 天时桃子剩下 1 个
int countPeach = 1;
for (int i = N - 1; i >= 1; i--) {
// 假设第一天的桃子个数为 x,第二天的桃子个数为 y,则 y = (x / 2) - 1 => x = (y + 1) * 2
countPeach = (countPeach + 1) * 2;
}
printf("%d\n", countPeach);
return 0;
}