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

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

解题思路:
从第五步逆推:
5x+1=4y;
4y+y+1=4z;
4z+z+1=4p;
4p+p+1=4s;
4s+s+1=最初

y=(5x+1)/4;
4z=5y+1=(5x+1)/4*5+1
*/
#include<stdio.h>
#include<math.h>
#include<malloc.h>
#include<string.h>
#define N 8
main()
{
    int c,i,j,k=0,t;
    for(i=4;i<10000;i=i+4){
        c=1;
        t=i;
        for(j=0;j<5;j++){
            k=i/4*5+1;
            i=k;
            if(k%4==0){
                c++;
            }else{
                break;
            }
        }
        i=t;
        if(c==5){
            printf("%d ",k);
        }

    }
}

原文地址:https://www.cnblogs.com/zhaohuan1996/p/12180255.html

时间: 2024-08-01 01:54:50

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

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

题目:海滩上有一堆桃子,五只猴子来分. 第一只猴子把这堆桃子平均分为五份,多了一个, 这只猴子把多的一个扔入海中,拿走了一份. * 第二只猴子把剩下的桃子又平均分成五份,又多了一个, 它同样把多的一个扔入海中,拿走了一份, 第三.第四.第五只猴子都是这样做的, * 问海滩上原来最少有多少个桃子? 思路1: 逆序 原来 第1只 第2只 第3只 第4只 第5只 n n-n/5-1 m-m/5-1 x-x/5-1 使用递归来解决问题 public class 第四十一题猴子分桃子 { public s

汇编语言(二、三、四、五、六、七、八)

时间过的真快. 本篇叫 <汇编语言 二.三.四.五.六.七.八> 我大概是想偷懒了,而且即将偷懒.学习汇编语言跟学习其他语言一样,都要多练,然后弄个称手的开发环境,以前发现windows 自带的debug 可以用来学习汇编,而且可以用debug工具写简单的汇编程序,并且可以生成扩展名为com的程序.debug从dos时代就有了,一直到vista.另外一个学习汇编语言的工具emu8086.这其实是一个集8086模拟器.设备模拟器.调试器.ide于一身的工具.emu8086本身自带一个汇编教程,虽

中文数字转换成阿拉伯数字(一千二百三十四万五千六百七十八--&gt;12345678)

昨天老大问我又没有写过中文数字转换成阿拉伯数字,我说没有,我说那应该简单啊,就是将中文对应的数字换成阿拉伯数字就好了啊,比如一就换成1,二就换成2…十换成10.可是那么问题来了…… 一十二呢…不能是1102吧…这不就坑爹了吗?一百万呢………所有我苦苦思索,花费了我差不多半天的时间,终于写出了下面的程序. 1 public static void main(String[] args){ 2 3 Map<Character, String> numberMap = new HashMap<

《构建之法》第三、四、五章学习总结

第三章讲的是关于如何成为一名合格甚至优秀的软件工程师.第一节主要讲的是个人能力的发展与团队合作的关系:第二节讲的则是关于软件工程师的职业发展:最后一节通过用魔方举例向我们讲述了怎样提升自己的技能. 第四章讲的是关于软件开发时两个人该怎样合作.这一章的前三节讲的都是关于代码规范,包括风格规范和设计规范:第四节讲的是关于代码复审时的问题,代码复审的正确定义是看代码是否在"代码规范"的框架内正确地解决了问题:第五节讲的是结对编程 :第六节介绍了两人合作的不同阶段和需要了解的相关技巧. 第五章

金三银四铜五铁六

鲁班简称LB 据说,金三银四,截止今天为止面试黄金时间已经过去十之八九,而LB恰逢是这批面试大军其中的一名小兵,很不幸今年恰逢遇上了互联网寒冬(即各大公司都在裁员,对外提供岗位相对较少的,这意味着很多猿即将面临着更多的竞争对手和相对较少的岗位困境),LB求职过程种种被虐,尸体趟过召唤师峡谷每个角落,如今历历在目,终究,当初的一名无名小卒如今已是一名超级兵哈哈,但是从这个事情上却学到了不少的东西,LB不亏. 经验也总是用来交流用的,于是LB觉得有必要记录下来,也许对猿们会有一丝帮助. 首先,找工作

冲刺第二,三,四,五,六天

由于现实生活比较匆忙,在这几天里我们大家都只是各自回去研究了下开发环境的问题,而且大家都各自出现了不少问题,经过这几天大家发现的问题并反馈回来的问题,出现的问题大致有一下几点: 1.ADT无法下载or安装. 2.android studio无法下载. 3.SDK无法下载. 4.android studio下载好了,但是打开要很久. 5.android 各版本的API无法下载. 经过这几天的总结和探讨发现,主要是由于天朝墙的原因,我们又到处找解决办法..最终我们决定用比较简单的修改hosts方法和

第三,四,五,章节理论知识的总结

第三章 认识运算符和表达式 ,运算符又叫操作符,是一个用于运算的符号,作用于一个或多个操作数.运算符分类:一元(目)运算符,作用于一个操作数.二元(目)运算符,作用于两个操作数.三元(目)运算符,作用于三个操作数.按运算符的功能分类:算术运算符,用于数学运算.逻辑运算符,判断真假.位运算符,用于二进制运算.其他.表达式:一条有意义的语句,并且该语句至少包含一个操作数和一个操作符,每个表达式,都有一个返回类型,每个表达式都可以与其他表达式进行运算,只要类型符合要求.位运算符主要用于对数字二进制运算

经济——人的行动(三、四、五)

三.经济学与对理性的反叛 1.对多元逻辑论的批判 先验之悟性和纯粹之推理 基本逻辑关系和思想行动诸范畴,乃一切人类知识的最终来源 每一种认知都受其内心逻辑结构的限制而蕴含于此结构中 在人之行动能够实现其目的的轨道里,没有不可知论的容身之地 2.理性 四.行动范畴的初步分析 1.目的与手段 任何行动的目的.目标或意图,通常都指的是一种不适之感的消解 手段不存在于给定的宇宙中,宇宙中只存在着物件,行动人使物件成为手段 行动学不研究外在世界,只研究与外在世界有关的人的行动 人的行动学的真实性不适物质的

构建之法三、四、五章总结

趁着五一小短假期间阅读了这三章,让我感觉想要成为一名软件工程师的路还要很长,在我面前就出现了一条分叉路:即是成为一名个人能力优异但不顾及团队成员理解与否的程序员还是个人能力一般但会结合团队人员的理解能力去编程的程序员,如果两者都能取长补短呢?或许太过于理想化了,每个人对于程序都有自己独特的程序风格,即便是使用同一种规格下的编程风格,但是每个人执行起来总会添加有自己的东西,像是变量名的取向,函数的调用,还有类似的等等.如果是我的话,可能会选后者,毕竟以后加入了团队以后,首要的宗旨是服从团队的安排,