猴子第一天摘若干桃子,當天吃掉一半又多吃一個;之後每天同樣吃法。到第 10 天早上只剩 1 個。求第一天共摘多少?
設第 n 天早上剩 x 個,則第 n-1 天早上有 2*(x+1) 個。從第 10 天倒推至第 1 天。
#includeint main() { int sum = 1; // 第 10 天早上剩 1 個 for (int i = 0; i < 9; i++) { // 往前推 9 天 sum = 2 * sum + 2; } printf("%d\n", sum); return 0; }
| 天數(倒數) | 早上剩餘 | 公式 |
|---|---|---|
| 10 | 1 | 初始 |
| 9 | 4 | 2*(1+1) |
| 8 | 10 | 2*(4+1) |
| 7 | 22 | 2*(10+1) |
| 6 | 46 | 2*(22+1) |
| 5 | 94 | 2*(46+1) |
| 4 | 190 | 2*(94+1) |
| 3 | 382 | 2*(190+1) |
| 2 | 766 | 2*(382+1) |
| 1 | 1534 | 2*(766+1) |
1534
第一天共摘 1534 個桃子。