简单进行数学推导即可。
由于小猴每一天都会吃剩余的桃子的一半外加一个,所以我们可以采取倒推法。
由最后的数据 \(1\) 可知,最后一天剩一个桃子。我们可以把 ans
赋值为最后的 \(1\)。然后循环 \(n\) 天,每一天都是原来的数量加 \(1\) 然后乘以 \(2\) 即可。(注意:必须先加后减)
需要注意的是:第 \(n\) 天小猴并没有吃桃子。
// P5743 【深基7.习8】猴子吃桃
// code by:cq_irritater
// time:2025/06/26
#include <bits/stdc++.h>using namespace std;int n;
int ans;int main()
{// freopen("code.in", "r", stdin);scanf("%d", &n);ans = 1;for (int i = 1; i < n; i++){ans += 1;ans *= 2;}printf("%d", ans);return 0;
}