C語言猴子吃桃問題
猴子第一天摘了若干個桃子,當即吃了一半,還不解饞,又多吃了一個;第二天,吃剩下的.桃子的一半,還不過癮,又多吃了一個;以后每天都吃前一天剩下的一半多一個,到第10天想再吃時,只剩下一個桃子了。問第一天共摘了多少個桃子?
分析:
1) 設x1為前一天桃子數,設x2為第二天桃子數, 則:
x2=x1/2-1, x1=(x2+1)*2
x3=x2/2-1, x2=(x3+1)*2
以此類推: x前=(x后+1)*2
2) 從第10天可以類推到第1天,是一個循環過程。
程序如下:
#include
#include
int main(){
int day, x1, x2;
day=9;
x2=1;
while(day>0) {
x1=(x2+1)*2; // 第一天的桃子數是第2天桃子數加1后的2倍
x2=x1;
day--;
}
printf("the total is %d\n",x1);
return 0;
}
運行結果:
the total is 1534
【C語言猴子吃桃問題】相關文章:
1.C語言中內存分配問題
2.C語言的可變參數問題
3.C語言函數參數傳遞問題
4.關于c語言約瑟夫問題輸出序號算法
5.測試C語言功力的幾個問題
6.C語言scanf函數應用問題解答
7.C語言教學中函數的調用問題
8.C語言for循環
9.單片機C語言有幾種內存泄露問題