博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
五猴分桃问题
阅读量:5082 次
发布时间:2019-06-13

本文共 808 字,大约阅读时间需要 2 分钟。

五只猴子分一堆桃。半夜,第一只猴子先起来,它把桃分成了相等的五堆,多出一只。于是,它吃掉了一个,拿走了一堆;第二只猴子起来一看,只有四堆桃。于是把四堆合在一起,分成相等的五堆,又多出一个。于是,它也吃掉了一个,拿走了一堆;......其他几只猴子也都是这样分的。问:这堆桃至少有多少个?

先给这堆桃子加上4个,设此时共有X个桃子,最后剩下a个桃子.这样:

第一只猴子分完后还剩:(1-1/5)X=(4/5)X;

第二只猴子分完后还剩:(1-1/5)2X;

第三只猴子分完后还剩:(1-1/5)3X;

第四只猴子分完后还剩:(1-1/5)4X;

第五只猴子分完后还剩:(1-1/5)5X=(1024/3125)X;

得:a=(1024/3125)X;

要使a为整数,X最小取3125.

减去加上的4个,所以,这堆桃子最少有3121个.

=============

从上可扩展该问题,可扩展为N猴分N桃问题.

并可通过程序实现.以后会对该问题进行补充.:

#include
void main(){ int monkey=1;//进行分桃的猴子数 int peaches,peach;//桃的总数和每次分桃的总数 peaches=1; peach=peaches; while(monkey<=5) { if(peach%5==1&&peach/5!=0) { peach=(peach/5)*4; monkey++; }//符合条件进行下一次的分桃 else { peaches++; peach=peaches; monkey=1; } } printf("桃的最小总数为:%d\n",peaches);}

  

转载于:https://www.cnblogs.com/dartagnan/archive/2011/09/26/2191208.html

你可能感兴趣的文章
STL容器之vector
查看>>
数据中心虚拟化技术
查看>>
复习文件操作
查看>>
SQL Server 使用作业设置定时任务之一(转载)
查看>>
第二阶段冲刺-01
查看>>
BZOJ1045 HAOI2008 糖果传递
查看>>
JavaScript 克隆数组
查看>>
eggs
查看>>
oracle 报错ORA-12514: TNS:listener does not currently know of service requested in connec
查看>>
python3 生成器与迭代器
查看>>
java编写提升性能的代码
查看>>
list 容器 排序函数.xml
查看>>
《Genesis-3D开源游戏引擎完整实例教程-跑酷游戏篇03:暂停游戏》
查看>>
CPU,寄存器,一缓二缓.... RAM ROM 外部存储器等简介
查看>>
windows下编译FreeSwitch
查看>>
git .gitignore 文件不起作用
查看>>
Alan Turing的纪录片观后感
查看>>
c#自定义控件中的事件处理
查看>>
django Models 常用的字段和参数
查看>>
IOS--沙盒机制
查看>>