猴子吃桃问题是一个经典的数学问题,描述如下:
一只猴子摘了一堆桃子,第一天它吃了这一堆桃子的一半,并再多吃了一个;第二天它又吃了剩下桃子的一半,并再多吃了一个;以后每天它都吃了前一天剩下桃子的一半,再多吃了一个。到第十天的时候,猴子发现桃子只剩下一个了。问这只猴子摘了多少个桃子?
#include <iostream>
using namespace std;
int main() {
//假设第n天有 t个桃子,设上一天有x 个 可知 x - (x / 2 + 1) = t
//解得上一天 x = 2(t + 1)
int num = 1; // 第十天剩下的桃子数
for (int i = 9; i >= 1; --i) {
num = (num + 1) * 2; //计算每天的桃子数
}
cout << "猴子一共摘了 " << num << " 个桃子。" << endl;
return 0;
}