1. 程式人生 > >迴圈 貪吃的猴子 基礎科學學院信技系 一般

迴圈 貪吃的猴子 基礎科學學院信技系 一般

題目:貪吃的猴子
來源:http://123.206.77.74/JudgeOnline
題目描述:有一隻猴子,第一天摘了若干個桃子 ,當即吃了一半,但還覺得不過癮 ,就又多吃了一個。第2天早上又將剩下的桃子吃掉一半,還是覺得不過癮,就又多吃了兩個。以後每天早上都吃了前一天剩下的一半加天數個(例如,第5天吃了前一天剩下的一半加5個)。到第n天早上再想吃的時候,就只剩下一個桃子了。
輸入格式:天數n,n∈(0,30]
輸出格式:第一天的桃子個數。提示:輸出語句為 printf(“The monkey got %d peachs in first day.\n”,sum);
樣例輸入:5
樣例輸出:The monkey got 114 peachs in first day.

解題思路:求第一天的桃子數,可以倒序來求,首先可以肯定的是最後一天有一個桃子,然後前一天吃的桃子數等於後一天剩餘桃子數加上一乘以二,迴圈計算就可以求出第一天的桃子數了。

程式碼過程:

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[]) {
long long int n,i,sum=0;
scanf("%lld",&n);
for(i=n;i>=1;i–){
if(i==n)
sum=sum+1;
else
sum=(sum+i)*2;
}
printf(“The monkey got %lld peachs in first day.\n”,sum);
return 0;
}

PS :本部落格屬於中國石油大學勝利學院ACM協會所有!
By:邢瑞