猴子分桃 (经典面试题)

一只猴子摘桃子,摘累了,决定休息一下再分桃子。
过了一会,来了一只猴子,把所有桃子均分成了5分,结果多了1个,
就把多出的吃了, 然后拿走了其中的一份;过了一会,又来了一只猴子,
它并不知道前面已经有猴子来过了, 也把所有桃子均分成了5分,结果多了1个,
就把多出的吃了,然后拿走了其中的一份; 后面的第3、4、5只猴子也是同样的道理,
分5份,吃一个,拿走一份。 问这堆桃子最初总共至少有( )个?最后又会剩 ( ) 个?

function demo(houzi){
    var arr = [];   // 记录每一个猴子拿走的个数 
    var taozi = 1;  // 默认为1个
    var remainder = 0;  // 记录剩余个数
    for(var i=0;i<houzi;i++){
        arr.push(taozi);    // 把当前猴子拿走的一份记录下来
        taozi = taozi*5+1;  // 前一个猴子分成了5份并吃了多出来的一个
    }
    
    // 以下计算剩余个数
    for(var i=0;i<arr.length;i++){
        remainder += arr[i];
    }
    remainder = taozi - remainder - houzi;
    
    console.log("总共至少有="+taozi);
    console.log("最后剩余="+remainder);
}

demo(1)    // 6 4
demo(2)    // 31 22
demo(3)    // 156 115
demo(4)    // 781 583
demo(5)    // 3906 2926
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 课前三分钟小计算 15+47= 63+19= 24+36= 56-28= 3...
    彤同妈妈阅读 5,431评论 0 2
  • 问题描述:猴子分桃:海 滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一...
    孙睿888阅读 1,437评论 0 0
  • 一 《欢乐颂》2开始热播,最近我也正在追剧中。记得有一段,安迪和关雎尔在说爱情应该纯粹这个问题。安迪说,为了房子车...
    90后女秀才阅读 914评论 0 0
  • 常常会做梦 七月的雪,十二月的雨 云落在水里 守着一盏昼间的月亮 我等你 等你走进了我的梦里 说“我爱你” 还没有...
    徐沉阅读 309评论 0 1
  • 最近有一些品牌方向我咨询,老师,我经常听到直营微商,直营模式,什么是直营模式? 那今天就和大家讨论一下微商企业直营...
    龚川腾阅读 594评论 0 0