20240410每日一题题解
Problem
一只小猴买了若干个桃子。第一天他刚好吃了这些桃子的一半,又贪嘴多吃了一个;接下来的每一天它都会吃剩余的桃子的一半外加一个。第 \(n\) 天早上起来一看,只剩下 \(1\) 个桃子了。请问小猴买了几个桃子?
输入一个正整数 \(n\),表示天数。输出小猴买了多少个桃子。
例如,输入4,则应输出22.
数据保证,\(1\le n\le20\)。
Solution
反向考虑这个问题。
每一天,小猴会吃掉一个桃子,另外再吃一个;
反过来,就是先吐出一个桃子,然后再吐出数量等于当前桃子个桃子。
另外需要额外注意,第\(n\)天他看见了剩下1个桃子,这一天他并没有吃桃子,所以一共只吃了\(n-1\)天。
Code
#include<iostream>
using namespace std;
int main()
{
int n;
cin>>n;
int ans=1;
for(int i=1;i<=n-1;i++)
{
ans+=1;
ans*=2;
}
cout<<ans;
return 0;
}
标签:小猴,桃子,int,题解,每日,20240410
From: https://www.cnblogs.com/Vanilla-chan/p/18125909