1054: 猴子吃桃
题目描述
悟空第一天摘下桃子若干,当即吃掉一半,还不过瘾,又多吃一个,第二天又将剩下的桃子吃掉一半多一个,以后每天吃掉前一天剩下的一半多一个,到第n天准备吃的时候只剩下一个桃子。聪明的你,请帮悟空算一下,他第一天开始吃的时候桃子一共有多少个呢?
输入
输入一个数n(1<=n<=30)。
输出
输出第一天的桃子个数。
样例输入
3
样例输出
10
#include <stdio.h>
int main() {
int i, n, x = 1; //设桃子的数目为x,并按照题目要求将x的初始化为1
scanf("%d", &n); //输入变量,用n来表示
for (i = 1; i < n; i++) { //实际循环次数要-1,因为最后一天不吃桃子
x += 1; //逆序思维,先将桃子的总数加一
x *= 2; //再将总数*2
}
printf("%d", x); //输出桃子的总数
return 0;
}
此题考察对循环的理解和实际解决问题的思路,总体来说难度不是很大。