乙隻猴子第一天摘下若干個桃子,當即吃了一半,還不過癮,又多吃了乙個;第二天早上又將剩下的桃子吃掉一半,又多吃了乙個。以後每天早上都吃了前一天剩下的一半加乙個。到第n天早上想再吃時,見只剩下乙個桃子了。問:第一天共摘了多少個桃子?
解:假設
第第剩餘的桃子數
1x --->x / 2 - 1 (第一天摘下若干個桃子,當即吃了一半,還不過癮,又多吃了乙個)
2x / 2 - 1--->( x / 2 - 1) / 2 - 1 (第二天早上又將剩下的桃子吃掉一半,又多吃了乙個)
......
(以後每天早上都吃了前一天剩下的一半加乙個。)
n1 (到第n天早上想再吃時,見只剩下乙個桃子了。)
由此,f ( n ) = 1,
f (1) = x / 2 - 1;
f (2) = ( x / 2 - 1 ) / 2 - 1;
讓我們來看看f (2) 和 f (1) 的關係,f (1) = ( f (2) + 1 ) * 2;
由此可知,f (n - 1) = ( f (n) + 1 ) * 2;
int f(int n)
return f;
}
這就是乙個計算 n-1 次加一乘二的過程。
ps:我差點把他當成遞迴函式了( ̄_ ̄|||)。
7 35 猴子吃桃問題(15 分)
乙隻猴子第一天摘下若干個桃子,當即吃了一半,還不過癮,又多吃了乙個 第二天早上又將剩下的桃子吃掉一半,又多吃了乙個。以後每天早上都吃了前一天剩下的一半加乙個。到第n天早上想再吃時,見只剩下乙個桃子了。問 第一天共摘了多少個桃子?x1 2x2 1,老 馮你想太 多了,x 2 2x 3 1,xn 1x ...
猴子吃桃問題
猴子吃桃問題 時間限制 3000 ms 記憶體限制 65535kb 難度 0 描述 有一堆桃子不知數目,猴子第一天吃掉一半,又多吃了乙個,第二天照此方法,吃掉剩下桃子的一半又多乙個,天天如此,到第 m天早上,猴子發現只剩乙隻桃子了,問這堆桃子原來有多少個?m 29 輸入 第一行有乙個整數 n,表示有...
猴子吃桃問題
有乙隻猴子第一天摘下若干個桃子,當即吃掉了一半,有多吃了乙個 第二天又將剩下的桃子吃掉一半,有多吃了乙個 按照這樣的吃飯每天都吃掉前一天剩下的一半又多乙個。到了第10天,就剩下乙個桃子。問題,這個桃子第一天摘了多少個桃子。include int main printf d n ans return ...