#2311. C++-循环for-猴子吃桃子(第m天只剩下x个桃子)
C++-循环for-猴子吃桃子(第m天只剩下x个桃子)
Background
Description
猴子吃桃问题就是:一个猴子,看到许多的桃子,第一天吃了一半,又吃了一个,第二天也吃了一半,又吃了一个,一直这样下去,到了第m天(输入),只剩下x个(输入)桃子了,求猴子吃桃子的过程。
首先我们要知道怎么算
假设第一天猴子吃了n个,这么说就是n-(((n/2+1)/2+1)/2+1.../2+1)=x(重复m-1次因为猴子第一天已经吃了桃子)这样子倒推过来就是((1+1)*2+1)*2...+1)*2=n,第一天猴子吃了1个,我们赋值于x,x一直x=(x+1)*2重复m-1次就可以得出从第m天到第1天猴子吃桃的过程了。
Format
Input
Output
Samples
10
1
1534
10
5
3582
20
10
6291454
Limitation
1s, 1024KiB for each test case.