海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子平均分为五份,多了一个,这只 猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了 一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的, 问海滩上原来最少有多少个桃子?

分析:设海滩上原来有x个桃子,则

第一只猴子分完桃子之后剩下的桃子x1=x-1-(x-1)/5=(4*(x-1))/5

第二只猴子分完桃子之后剩下的桃子x2=x1-1-(x1-1)/5=(4*(x1-1))/5

第三只猴子分完桃子之后剩下的桃子x3=x2-1-(x2-1)/5=(4*(x2-1))/5

第四只猴子分完桃子之后剩下的桃子x4=x3-1-(x3-1)/5=(4*(x3-1))/5

第五只猴子分完桃子之后剩下的桃子x5=x4-1-(x4-1)/5=(4*(x4-1))/5

假设第五只猴子分得的桃子为1,五份则为5,即第5只猴子分完桃子后剩下的桃子为4

4/4*4+1=6  即6为第五只猴子开始分之前的桃子数,但是6%4!=0,即不满足当第四只猴子分完桃子后剩余桃子个数。

所以第五只猴子分得的桃子数不是1,那么从2开始推,直到满足每次所有条件为止。

从图中可以看出 假定第五只猴子分得的桃子个数为255时,满足所有条件。

即当第五只猴子分得桃子个数为255时

剩余桃子数1020,那么四只猴子分完桃子后剩余1276=1020/4*5+1   //此处除以4是因为剩余桃子数刚好为第五只猴子的4份

当第三只猴子分完桃子后剩余1596=1276/4*5+1

第二只猴子分完桃子后剩余1996=1596/4*5+1

第一只猴子分完桃子后剩余2496=1996/4*5+1

那么没有分桃子时桃子为3121=2496/4*5+1

符合所有条件

那么没有分桃子时,桃子个数最少为3121

代码如下:

#include <stdio.h>int main()
{int i;//循环次数int j=1;//第五只猴子分的桃子int x;//桃子数while(1){x=4*j;printf("第五只猴子分得桃子为%d个时,剩余桃子数为%d\n",j,x);for(i=0;i<5;){if(x%4!=0)break;//必须连续五次x都能被4整除才符合条件.else{x=(x/4)*5+1;printf("第五只猴子分得桃子为%d个时,剩余桃子数为%d\n",j,x);i++;}}printf("\n");j++;if(i==5)break;}printf("%d",x);return 0;
}

海滩上有一堆桃子,五只猴子来分。(C语言实现)相关推荐

  1. java海滩上有一_海滩上有一堆桃子,五只猴子来分-海滩上有一堆桃子,五只猴子来分java实现-吾爱编程网...

    今天吾爱编程为大家分享一个java的经典案例:海滩上有一堆桃子,五只猴子来分,接下来吾爱编程为大家介绍一下海滩上有一堆桃子,五只猴子来分.第一只猴子把这堆桃子平均分为五份写法,有需要的小伙伴可以参考一 ...

  2. 海滩上有一堆桃子,五只猴子来分

    .海滩上有一堆桃子,五只猴子来分.第一只猴子把这堆桃子凭据分为五份,          *  多了一个,这只猴子把多的一个扔入海中,拿走了一份.第二只猴子把剩下的          * 桃子又平均分成 ...

  3. java海滩上有一_五十道编程小题目 --- 41 海滩上有一堆桃子,五只猴子来分 java...

    [程序41] 题目:海滩上有一堆桃子,五只猴子来分.第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一 个扔入海中,拿走了一份.第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的 ...

  4. 猴子分桃的题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了 一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分 成五份,又多了一个,

    题目:海滩上有一堆桃子,五只猴子来分.第一只猴子把这堆桃子凭据分为五份,多了 一个,这只猴子把多的一个扔入海中,拿走了一份.第二只猴子把剩下的桃子又平均分 成五份,又多了一个,它同样把多的一个扔入海中 ...

  5. 海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走

    海滩上有一堆桃子,五只猴子来分.第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份.第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一 ...

  6. 海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份, * 多了一个,这只猴子把多的一个扔入海中,拿走了一份

    package CompileProject; /*  * 38.海滩上有一堆桃子,五只猴子来分.第一只猴子把这堆桃子凭据分为五份,  * 多了一个,这只猴子把多的一个扔入海中,拿走了一份.第二只猴子 ...

  7. 海滩上有一堆桃子,五只猴子来分(C语言)

    海滩上有一堆桃子,五只猴子来分(C语言) 问题描述 问题分析 代码 结果 问题描述 海滩上有一堆桃子,五只猴子来分.第一只猴子把这堆桃子平均分为五份,多了一个,这只 猴子把多的一个扔入海中,拿走了一份 ...

  8. 海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子平均分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分为五份,又多了一个,它同样把多的一个扔入海......

    <script> //海滩上有一堆桃子,五只猴子来分.第一只猴子把这堆桃子平均分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份.第二只猴子把剩下的桃子又平均分为五份,又多了一个, ...

  9. 41、海滩上有一堆桃子,五只猴子来分。

    题目:海滩上有一堆桃子,五只猴子来分.第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份.第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿 ...

最新文章

  1. sqlite fts5 编译 xcode other c flags
  2. 安全研究人受够!再公布WordPress 3大外挂漏洞
  3. android listview 滑动条显示_第七十六回:Android中UI控件之RecyclerView基础
  4. JavaScript 弹出子窗体并返回结果到父窗体
  5. delphi操作xml学习笔记 之一 入门必读
  6. 对于一万条数据量使用Oracle游标,存储过程,一般查询的速度的对比
  7. Linux命令(五)之service服务查找、启动/停止等相关操作
  8. php数组排除某个键_PHP根据key删除数组中指定的元素
  9. windows 清除记录ftp账号
  10. web前端_腾讯校招一面
  11. 北邮bbs爬取阶段性总结
  12. 代码管理 阿里云 云效 设置云效 SSH 公钥 下载代码到本地配置SSH
  13. 简单几步实现RTMP直播
  14. 常吃这9种食物 牙齿坏得快
  15. 搭建红外遥控arm-hadoop集群过程
  16. 51nod1635 第K个幸运排列
  17. 2018年6月购书清单
  18. 双目立体匹配算法SGBM
  19. Tabby使用之:中文乱码问题
  20. 过滤器实现单一用户登录

热门文章

  1. android实现音乐跳动效果
  2. Web流程图设计DEMO v0.2
  3. OPPO reno9,reno8,reno7,reno系列安装Play商店,安装服务框架谷歌Google
  4. 财务共享中心,是要白刀子进去 红刀子出来
  5. elasticsearch 基础 —— Mapping参数boost、coerce、copy_to、doc_values、dynamic、
  6. 《幻想计划》1.21上线链游玩家|华丽时装、少女养成
  7. Java开发环境的搭建(jdk安装教程)
  8. electron-vue使用教程
  9. 使用Python的eyed3库修改MP3 tag
  10. html字符串转json