JS基础之猴子分桃!

JavaScript018

JS基础之猴子分桃!,第1张

猴子分桃:海 滩上有一堆桃子,五只猴子来分。

第一只猴子把这堆桃子凭据分为五份,多了一个, 这只猴子把多的一个扔入海中,拿走了一份。

第二只猴子把剩下的桃子又平均分成五份,又多了一个, 它同样把多的一个扔入海中,拿走了一份,

第三、第四、第五只猴子都是这样做的,

问海滩上原来最少有多少个桃子?

各个浏览器查看的反应速度也不同II(如果电脑不太好,monekey的值尽量不要高于8).

第n只猴子拿A个桃子

第n只猴子拿之前有2(A + 1)-1个桃子

第n-1只猴子拿2(A + 1)-1个桃子

第n-1只猴子拿之前有2*(2(A - 1)-1) + 1 = 2^2 *(A + 1)-1个桃子

第n-2只猴子拿2^2 *(A + 1)-1个桃子

第n-2只猴子拿之前有2*(2^2 *(A - 1)-1) + 1 = 2^3(A + 1)-1个桃子

……

第1只猴子拿2^(n-1)*(A + 1)-1个桃子

第1只猴子拿之前有2*(2^(n-1) *(A - 1)-1) + 1

= 2^n *(A + 1)-1个桃子

n = 3时,原来有桃子 8A + 7个

8A + 7 >= 100

A >= 12

第1个猴子拿了 4A + 3 = 51 个

n = 4时,原来有桃子 16A + 15个

16A + 15 >= 100

A >= 6

第1个猴子拿了 8A + 7 = 55 个

n = 5时,原来有桃子 32A + 31个

32A + 31 >= 100

A >= 3

第1个猴子拿了 16A + 15 = 63 个