五猴分桃python_猴子分桃问题——一个简单的递归
五只猴子分桃。半夜,第一只猴子先起来,它把桃分成了相等的五堆,多出一只。于是,它吃掉了一个,拿走了一堆; 第二只猴子起来一看,只有四堆桃。于是把四堆合在一起,分成相等的五堆,又多出一个。于是,它也吃掉了一个,拿走了一堆;......其他几只猴子也都是 这样分的。问:这堆桃至少有多少个?
我自己是这样想的,问题得从最后那个猴子看起,最后那个猴子依然能将桃子分5堆剩一个,则设在最后那个猴子之前剩下数量是A,A%5=1并且还能平分成4堆没有剩余,所以A%4=0。然后,倒数第二只猴子之前的数量就是A+A/4+1个,并且重复之前的步骤,如果在到第一只猴子之前都没遇到问题,那么就能得出结果了。如果在中间出现问题则全部回退到最后那只猴子,重新计算数量。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication64
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(monkeyPickPeach(5));
Console.ReadKey();
}
static int monkeyPickPeach(int monkeyNum)
{
Int32 resultNum = 1;
Int32 monkeyPicked = 0;
Int32 temp = 0;
Int32 tempSum = 0;
bool isTemp = false;
while (monkeyPicked < monkeyNum)
{
temp = resultNum / 4 + 1;
if (!isTemp)
{
tempSum = 0;
}
if ((resultNum + temp) % 5 == 1 && resultNum % 4 == 0)
{
resultNum = resultNum + temp;
tempSum += temp;
monkeyPicked++;
isTemp = true;
}
else
{
if (isTemp)
{
resultNum -= tempSum;
}
resultNum++;
monkeyPicked = 0;
isTemp = false;
}
}
return resultNum;
}
}
}
输出结果为:3121
五猴分桃python_猴子分桃问题——一个简单的递归相关推荐
- 五猴分桃python_猴子分桃问题 | 学步园
五只猴子分桃.半夜,第一只猴子先起来,它把桃分成了相等的五堆,多出一只.于是,它吃掉了一个,拿走了一堆: 第二只猴子起来一看,只有四堆桃.于是把四堆合在一起,分成相等的五堆,又多出一个.于是,它也吃掉 ...
- python猴子分桃_猴子分桃 - Ryan in C++ - 博客园
猴子分桃的故事大体有两种描述: 描述 1 :五只猴子分桃.半夜,第一只猴子先起来,它把桃分成了个数相等的五堆,多出一只:于是,它吃掉了一个,拿走了一堆.第二只猴子起来一看,只有四堆桃,于是把四堆合在一 ...
- c语言猴子分桃问题,猴子分桃问题
this.p={ m:2, b:2, loftPermalink:'', id:'fks_087064081094080068080094080095080083088068085084087075' ...
- java分桃子_猴子分桃子.java
问题描述:猴子分桃:海 滩上有一堆桃子,五只猴子来分. 第一只猴子把这堆桃子凭据分为五份,多了一个, 这只猴子把多的一个扔入海中,拿走了一份. 第二只猴子把剩下的桃子又平均分成五份,又多了一个, 它同 ...
- k线顶分型 python_顶底分型K线
顶底分型K线 2021-01-14 牢记这三根K线组合,"低吸高抛"很简单,主力资金都害怕你知道文轩点睛主打短线,每日盘前一股,个人微信:sh60001317 人赞同了该文章我们在 ...
- c语言猴子偷桃问题,猴子偷桃问题
还是C语言版的问题,还是一个用递归的问题,很有意思. 五只猴子采得一堆桃子,猴子彼此约定隔天早起后分食.不过就在半夜里,一只猴子偷偷起来,把桃子平均分成五堆后,发现还多一个,它吃掉这个桃子,并拿走了其 ...
- k线顶分型 python_顶底分型的实战操作要点(转)
顶底分型的实战操作要点 K线组合,简单明了,实战中要重视,尤其的是顶分型和底分型的组合,是缠论的一个技术要点. 1.K线先经过包含关系的处理. 如何包含处理我博客里有图例. 2.最有杀伤力的顶分型. ...
- k线顶分型 python_顶底分型-(K线分类及顶底分型的一种数学原理 源码 贴图)...
好股票软件下载网(www.goodgupiao.com)提示:您正在下载的是:顶底分型-(K线分类及顶底分型的一种数学原理 源码 贴图) 参考缠论,研究了很多天终于将顶底分型进行了具体的数学量化,涵盖 ...
- 五猴分桃题解析(C语言5种解法)
五猴分桃题解析(C语言 5 种解法 ) 本人喜欢探索各种算法.80年代听闻五猴分桃题,颇感兴趣.曾尝试求解,得小学算术解法和迭代(递增,递减)算法.那时还没有PC是用算盘计算的,那"二弹一星 ...
最新文章
- Android 源码编译相关
- 正式开放 | 阿里云 10 亿级镜像服务正式支持 Helm Charts,云原生交付再加速!
- Linux 比特币Bitcoin采集节点搭建
- LeetCode 394: DecodeString (Java)
- javascript时间差工具包
- html中出现的script失效
- 批量修改txt文件名,删除相同部分
- Android 使用VideoView播放本地视频详解
- mysql获取autoincrement_MySQL获取Auto_increment字段刚插入的值 | 学步园
- 两个RGBA四通道颜色的叠加计算方法与代码实现
- Ubuntu实现网络链接设置
- 集合类 Java中的集合类解析和一些有深入的面试题
- vue导入excel进度条_纯前端 vue+ js-xlsx 导入excel表格
- 洛谷P1008 三连击
- 心跳之旅—iOS用手机摄像头检测心率(PPG)
- 在c++程序中执行DOS命令
- 华为mate30epro和华为mate30pro有什么区别 华为mate30epro和华为mate30pro参数对比
- 蓝桥杯 算法提高 逃跑的牛(BFS)
- 信息流驱动百度App高位增长:日活和时长双双跑赢大盘
- linux c++ 获取当前时间毫秒_Linux内核中的形形色色的“钟表”,你了解多少?
热门文章
- 大数据开发技术课程报告(搭建Hadoop完全分布式集群操作集群)
- Maya根据模型建立乐高模型
- JS获取Json值以及通过值获取索引
- Java Shiro 设置 anon 无效
- 【Rust日报】2022-09-11 Shuttle 创建和部署带有ShuttleSerenity的 Discord 机器人!
- 我的世界服务器末地文件在哪,我的世界:找不到末地城怎么办?巧用2个操作,就能瞬间找到!...
- 阿里云储道深度解析存储系统设计——NVMe SSD性能影响因素一探究竟
- 微信支付实战(完整的代码,复制即可用)
- 【ceph】ceph-mds journal模块解读
- 期末考试查分,基于青果高校教务系统的一个自动python脚本代码。