题目:

话说某天一艘海盗船被天下砸下来的一头牛给击中了,5个倒霉的家伙只好逃难到一个孤岛,发现岛上孤零零的,幸好有棵椰子树,还有一只猴子! 大家把椰子全部采摘下来放在一起,但是天已经很晚了,所以就睡觉先. 晚上某个家伙悄悄的起床,悄悄的将椰子分成5份,结果发现多一个椰子,顺手就给了幸运的猴子,然后又悄悄的藏了一份,然后把剩下的椰子混在一起放回原处,最后还是悄悄滴回去睡觉了. 过了会儿,另一个家伙也悄悄的起床,悄悄的将剩下的椰子分成5份,结果发现多一个椰子,顺手就又给了幸运的猴子,然后又悄悄滴藏了一份,把剩下的椰子混在一起放回原处,最后还是悄悄滴回去睡觉了. 又过了一会 ... ... 又过了一会 ... 总之5个家伙都起床过,都做了一样的事情 早上大家都起床,各自心怀鬼胎的分椰子了,这个猴子还真不是一般的幸运,因为这次把椰子分成5分后居然还是多一个椰子,只好又给它了。 问题来了,问这堆椰子最少有 1 个?

思路:

1、发散思维

假设借给海盗们4个椰子,这样第一个海盗藏起来的加上他给猴子的1个,正好是椰子总数的五分之一。第二个海岛藏起来的加上他给猴子的1个,正好是剩下椰子数的五分之一,以此类推6次,因为题目的问题是至少有多少个,假设最后每个海盗只得到一个椰子,因此一共有1*5*5*5*5*5*5-4=15621个椰子。

2、计算机思维

如果要通过计算机来计算椰子的个数:

第一种是可以通过上述的公式来计算;

第二种需要通过枚举来计算判断,

假设到最后剩下了a0=x个椰子,则经过第5个人操作之前就有a1=5*a0/4+1个椰子,经过第4个人操作之前有a2 =5*a1/4+1个椰子,因此可以得到递公式a(i+1) =5*a(i)/4+1,而且a(i)(i=0,1,2,3,4,5)都能够被5整除且余数为1,求最小的a5。

逆向思考一下,假设至少有n个,每次操作之前,需要满足的椰子个数条件:除5余数为1,减1除5大于等于1,即n%5==1 && (n-1)/5>=1;操作之后的椰子个数,等于减1后的4/5,即n=(n-1)*4/5。

代码:

#include

using namespace std;

void banana(){

int num=5;

bool flag=true;

int tmp;

while(flag){

num++;

flag=false;

tmp=num;

for(int i=0;i<6;i++){

if(tmp%5==1 && (tmp-1)/5>=1){

tmp=(tmp-1)*4/5;

}

else{

flag=true;

break;

}

}

}

cout<

}

int main()

{

banana();

return 0;

}

php五只猴子分椰子_(笔试题)分椰子相关推荐

  1. python 一行代码(不包含导包)实现1到10的累加_笔试题汇总,含参考答案(持续更新中。。。)...

    说明:以下大部分都是测试朋友遇到的笔试题. 自问自答,自娱自乐,机会只留给有准备的人 技术术语 笔试或者面试的时候,经常被问一些概念,比如同步.异步.阻塞.非阻塞等等,是不是很懵逼? 性能测试相关 自 ...

  2. Java相邻数值后比大小后并分组_笔试题:给出一个数组,排序后,取相邻两值差的最大值...

    ε=(´ο`*)))   一个笔试题,就这样了,不想优化了   能出答案就行 import java.util.Scanner; /** * 需求:给出一个数组,排序后,取相邻两值差的最大值 */ p ...

  3. java猴子分桃_算法——猴子分桃

    想做些有关"算法"的练习题,在网上无意间看到了一道很经典的算法题--猴子分桃,于是百度了一下,才发现这道题的相关文档很多很多,但最多的也就是使用C++或者Java来解决这道题,而自 ...

  4. 手机wps取消不等宽分栏_如何取消分栏 - 卡饭网

    Word 2007中取消分栏的技巧 Word 2007中取消分栏的技巧 前面我们了解了在Word2007中分栏的设置,相信很多朋友已经学会了,而如果想要对网上下载的分栏文档中进行取消,该怎么办呢?下面 ...

  5. hash oracle 分表_数据库hash分表

    前言 平常我们一直用的就是按时间进行分表,按时间分表可以减轻以时间维度的查询.但是如果查询的条件不是时间,那么当查询主表的时候,就会去遍历所有的分表,没有起到分表的优化效果. 方法 如果不能按照时间分 ...

  6. python分箱_特征工程 - 分箱

    卡方分箱 python自带分箱函数  --  无法实现对分类型数据的分箱,可借助卡方分箱算法实现 import numpy as np import pandas as pd data = np.ra ...

  7. java同花顺判定_笔试题:随机抽取五张牌 判断是否为同花顺

    题目: 从一副扑克牌中随机抽取5张牌 判断这五张牌是否是一个同花顺 同花顺:点数连续 花色相同 大小王可以当做任意点数任意花色的牌 简单陈述一下思路 package cn.yangwanhao.wri ...

  8. 京东2016招聘笔试题分苹果Java代码

    本文地址:http://blog.csdn.net/shanglianlm/article/details/77839621 题目描述 果园里有一堆苹果,一共n头(n大于1小于9)熊来分,第一头为小东 ...

  9. python取相反数_笔试题python基础总结

    #python a = [1, 2, 3] b=a a.append(4) b.append(5) print(a,b) 输出: [1, 2, 3, 4, 5] [1, 2, 3, 4, 5] > ...

  10. adcsr图像超分代码_图像超分:RealSR

    paper​csjcai.github.iocsjcai/RealSR​github.com现有大多SISR方法是在模拟数据集(LR通过对HR执行简单的双三次下采样得到)上进行训练与评估.然而,真实世 ...

最新文章

  1. 软件测试测试人员遇到的问题及解决方法(面试)
  2. c语言 增加 删除 修改的功能 不用链表,不用链表,单是结构体写入文件后,是否可以进行修改删除...
  3. mysql8只从配置_mysql8的配置优化
  4. CodeForces - 1366E Two Arrays(组合数学+思维)
  5. JavaWeb前端:HTML5 简介
  6. java日期的运用(DateUtils工具类)
  7. 怎么看调用的接口_SpringCloud服务间调用
  8. Python PyCrypto,Paramiko模块安装和使用
  9. jade 编译 html,学习前端模板引擎 jade (一)_html/css_WEB-ITnose
  10. 高德地图 聚合效果
  11. 面试拆解:系统上线后Cpu使用率飙升如何排查?
  12. 标签打印机ESC光栅位图打印指令
  13. Ndo v3.1发布了!
  14. 2007版本中国网络新秀之七剑下天山
  15. AIO600 IPPBX电话交换机对接联通移动IMS服务器
  16. 台式计算机的cpu是指,台式电脑CPU是A10指的是什么?
  17. 利用微信第三方平台制作微信抽奖的优势以及一个成功的微信抽奖活动方案分享!
  18. 【Stateflow】Chart初始化时访问data store memory警告
  19. php gd库扩展生成带中文字体的png图片
  20. 自定义异常类NegativeException

热门文章

  1. 注册谷歌广告联盟提示“此电话号码无法用于进行验证”解决办法
  2. A simple webframe base on web.py
  3. AppImage应用启动报错:Cannot mount AppImage, please check your FUSE setup
  4. javascript事件触发器
  5. stinger 小型机器人_格斗机器人史上攻击力大排行,排名第一的果然是TA!
  6. 联合证券|港股再融资“春江水暖” 资本争购热门赛道企业
  7. kmeans以及kmeans++聚类生成anchors
  8. biopython:2:序列组成
  9. python爬虫基本反爬
  10. 学习-Java字符串之String类常用方法之字符串长度