2013
Problem Description
第一天悟空吃掉桃子总数一半多一个,第二天又将剩下的桃子吃掉一半多一个,以后每天吃掉前一天剩下的一半多一个,到第n天准备吃的时候只剩下一个桃子。聪明的你,请帮悟空算一下,他第一天开始吃的时候桃子一共有多少个呢?
Input 输入数据有多组,每组占一行,包含一个正整数n(1<n<30),表示只剩下一个桃子的时候是在第n天发生的。
Output 对于每组输入数据,输出第一天开始吃的时候桃子的总数,每个测试实例占一行。
Sample Input
2
4
Sample Output
4
22
要点:今天的桃子数=2*前一天的桃子数+2
#include<stdio.h>
#include<string.h>
int main()
{
int a;
while(scanf("%d",&a)!=EOF){
int start;
int num = 1;
for(start=1; start<a; start++){
num = 2*num+2;
}
printf("%d\n",num);
}
return 0;
}
2042
Problem Description 每过一个收费站,都是拿走当时羊的一半,然后退还一只,最后只剩下3只羊了。最初有多少只羊。
Input 输入数据第一行是一个整数N,下面由N行组成,每行包含一个整数a(0<a<=30),表示收费站的数量。
Output 对于每个测试实例,请输出最初的羊的数量,每个测试实例的输出占一行。
Sample Input
1
2
Sample Output
6
#include<stdio.h>
#include<string.h>
int main()
{
int inputnum;
scanf("%d",&inputnum);
for(; inputnum!=0; inputnum--){
int i,a;
int nownum = 3;
scanf("%d",&a);
for(i=0; i<a; i++){
nownum = (nownum-1)*2;
}
printf("%d\n",nownum);
}
return 0;
}