ZZULIOJ题解
1054: 猴子吃桃
题目描述
悟空第一天摘下桃子若干,当即吃掉一半,还不过瘾,又多吃一个,第二天又将剩下的桃子吃掉一半多一个,以后每天吃掉前一天剩下的一半多一个,到第n天准备吃的时候只剩下一个桃子。聪明的你,请帮悟空算一下,他第一天开始吃的时候桃子一共有多少个呢?
输入
输入一个数n(1<=n<=30)。
输出
输出第一天的桃子个数。
样例输入
3
样例输出
10
本题是对循环语句的考察,相较于之前的十几道题可能是更简单,注意逆向思考如何推出来桃子,写出循环语句即可。
代码
#include<stdio.h>
int main()
{
int i,x,n;//定义循环次数i,桃子数x和天数n
scanf("%d",&n);//键盘输入天数n
x=1;//剩余桃子是1
for(i=1;i<n;i++)//因为今天还没吃,所以其实只吃了n-1次
{
x=2*(x+1);//每次吃的桃子数量先加一再乘二
//因为每次剩下的桃子数本来应该是一半,还要减一,那么应该加上再翻倍
}
printf("%d",x);//输出原来的桃子数x
return 0;//程序正常退出
}