五人分椰子问题

C语言_5个水手在岛上发现一堆椰子,迭代法计算原来这堆椰子总数-7.8题 动力源泉:关注+点赞+收藏 喜欢的请支持下,写代码买糖吃的米老鼠! 苏小红 主编教材C语言程序设计 P185 7.8题 #include <stdio.h> int yz(int i); int main() { int n,sum = 0; for(int i = 1; i<10; i++) { if (((5 * i) + 1) % 4 == 0 ) { n ... 阅读详情
链接: https://www.nowcoder.com/questionTerminal/5ccede9ae50b465c8c3283038d9a4a48
来源:牛客网

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


这是牛客网上面的一道智力题,很多人给出了答案,有人直接理论说明,有人用编程的方式解决了,但是没有给出注释。在这里,我参照其中一段代码,按照自己的理解做一些必要的说明。

#include<stdio.h>
#include<stdlib.h>

#define MAX 10000 //假设最后每人分到的椰子最多为10000个 
int num=0;//作为全局变量,用于记录最后总的椰子数 

//定义函数solve,来从最后每人分到的椰子数入手,递推出一开始总的椰子数 
//其中参数就是每人最后分到的实际的椰子数,显然该值最小为1,因为不可能最后一个椰子也没分到呀!
//返回值就是一个bool值,如果为真,说明输入的最小值可以满足题目的要求,如果为假则说明不满足要求,需要重新输入 
bool solve(int index){
    int res=index*5;        //最后每个人的椰子数乘以5再加1 ,即 (res+1)表示五个人最后要分的椰子,也可以说 
    for(int i=0;i<5;i++){   //成是五个人第五次分之前剩下的椰子总数 
        if((res+1)%4){		//显然,这个总数应该是第四次分完之后剩下的那些椰子,也就是说这些椰子应该可以被 
            return false;   //4整除,因为这是第四个人分完五份之后(给了猴子一个)取走自己的那一份剩下的四份 
        }                   //所以理所当然可以被4整除,如果不能整除,说明输入的值index不是要求的值,所以需要重新 
        res=(res+1)*5/4;    // 输入,当满足被4整除的要求后,就开始计算第四次分之前的椰子总数(此时还应加上给猴子的一个),也就是语句 
    }                       //res=(res+1)*5/4;然后一直连续循环5次即可找到第一次分之前的椰子总数,其实最后应该是(res+1)*5/5 
    num=res+1;
    return true;
}

int main(){
    for(int i=1;i<=MAX;i++){
        if(solve(i)){
            printf("%d\n",num);
            break;
        }
    }
    return 0;
}


【RT-DETR有效改进】利用MobileNetV3替换Backbone(轻量化网络结构,提点) 本文给大家带来的改进机制是,其主要改进思想集中在结合硬件感知的网络架构搜索(NAS)和NetAdapt算法,以优化移动设备CPU上的性能。它采用了新颖的架构设计,包括反转残差结构和线性瓶颈层,以及新的高效割解码器Lite Reduced Atrous Spatial Pyramid Pooling(LR-ASPP),以提升在移动类、检测和割任务上的表现。实验表明,MobileNets在资源和准确性的权衡方面表现出色,并在多种应用(如对象检测、细粒度类、面部属性识别和大规模地理定位)中展现了其有效性。 阅读详情

相关推荐

有趣的小问题——海盗椰子(c#)

题目和源代码在一起:有兴趣的初学者有空看看 c#,如果有不了解的地方,欢迎讨论

水手椰子

水手椰子问题: 个水手来到一个岛上,采了一堆椰子后,因为疲劳都睡着了。第一个水手醒来,悄悄地将椰子份,多出一个椰子,便给了旁边的猴子,然后自己藏起一份,再将剩下的椰子重新合在一起,继续睡觉。第三第四个水手采取一样的策略,第个水手醒来,便把剩下的椰子份,恰好又多出一个,给了猴子。请问水手最初最少摘了多少个椰子。 #include<stdio.h> #include<math.h> int main() { int i=1; float x; float k=

qq_43648478的博客 4443

JAVA编写猴子问题

只猴子采得一堆桃子,猴子彼此约定隔天早起后再食。不过,就在半夜里,一只猴子偷偷起来,把桃子均堆后,发现还多一个,它吃掉这桃子,并拿走了其中一堆。第二只猴子醒来,又把桃子均堆后,还是多了一个,它也吃掉这个桃子,并拿走了其中一堆。第三只,第四只,第只猴子都依次如此食桃子。那么桃子数最少应该有几个呢?

C练习——N个水手椰子

个水手在岛上发现一堆椰子,先由第1个水手把椰子为等量的5堆,还剩下1个给了猴子,自己藏起1堆。然后,第2个水手把剩下的4堆混合后重新为等量的5堆,还剩下1个给了猴子,自己藏起1堆。最后,第5个水手把剩下的椰子为等量的5堆后,同样剩下1个给了猴子。N个水手每次成N组加一呢?假如某水手面前 有y个椰子,那么前一个水手面前有 y/4*5+1, 设第位水手面前。/4*5+1,进行4次迭代,若某次y值对n取模不为一,则将x+1再试。循环N-1 次求y值,每次对y进行判定,不符合则x增1再循环N-1次。

2301_76271519的博客 1368

小题目(转别的) 收藏收藏 感觉不错

   第一题:假设有一个池塘,里面有无穷多的水。现有2个空水壶,容积别为5升和6升。问题是如何只用这2个水壶从池塘里取得3升的水。 第二题:周雯的妈妈是豫林水泥厂的化验员。 一天,周雯来到化验室做作业。做完后想出去玩。 "等等,妈妈还要考你一个题目,"她接着说,"你看这6只做化验用的玻璃杯,前面3只盛满了水,后面3只是空的。你能只移动1只玻璃杯,就便盛满水的杯子和空杯子间隔起

小陵园 1108

数学应用 c

编程除了语法还有算法,最近在看一些数学应用题 题目: 个水手在岛上发现一堆椰子,先由第一个水手把椰子为等量的5堆,还剩下1个给了猴子,自己藏起1堆。然后,第二个水手把剩下的4堆混合后重新为等量的5堆,还剩下1个给了猴子,自己藏起1堆。以后第三、四个水手依次按此方法处理。最后第个水手把剩下的椰子为等量的5堆后,同样剩下1个给了猴子。编程计算并输出原来这堆椰子至少有多少个 代码段: #include<stdio.h> int fun(int time); int main() { i

yooppa的博客 365

7-364 Coconuts, Revisited

在这里给出相应的输出。在这里给出一组输入。

. 857

Perl关于椰子的趣味问题

  话说某天一艘海盗船被天下砸下来的一头牛给击中了,5个倒霉的家伙只好逃难到一个孤岛,发现岛上孤零零的,幸好有有棵椰子树,还有一只猴子!   大家把椰子全部采摘下来放在一起,但是天已经很晚了,所以就睡觉先晚上某个家伙悄悄的起床,悄悄的将椰子成5份,结果发现多一个椰子,顺手就给了幸运的猴子,然后又悄悄的藏了一份,然后把剩下的椰子混在一起放回原处,最后还是悄悄滴回去睡觉了   过了会儿...

weixin_30593261的博客 164

水手椰子——迭代法、递归解题

题目内容: n(1< n <=5)个水手在岛上发现一堆椰子,先由第1个水手把椰子为等量的n堆,还剩下1个给了猴子,自己藏起1堆。然后,第2个水手把剩下的n-1堆混合后重新为等量的n堆,还剩下1个给了猴子,自己藏起1堆。以后第3、4个水手依次按此方法处理。最后,第n个水手把剩下的椰子为等量的n堆后,同样剩下1个给了猴子。请用迭代法编程计算并输出原来这堆椰子至少有多少个,n的值要求从...

weixin_30295091的博客 8853

水手椰子问题

那里,我已经那样操作了),那么这样的话,我们就把这个问题做了一次倒置,即我们已经知道了最后一次的椰子个数,我们所要做的唯一一件事情就是把所有椰子凑起来,看看最后能不能出现一个相对合理的数(相对合理,即每一次配,大家都能得到整数个椰子,你也不想到半个别已经吃过的椰子吧?份还能多出一个,但是如果这样考虑,我们假设自己所知道的椰子总数是我们的自变量,那么它是逐渐减小的,而且没有办法赋予一个准确的初始值(如果有的话,你为什么还要写这一串代码呢?),所以我们假设,我们知道最后一次出的个数(事实上,在(

inter_spider的博客 1523

水手椰子

5个水手椰子 问题描述 5个水手来到一个岛上,采了一堆椰子后,因为疲劳都睡着了。一段时间后,第一个水手醒来,悄悄地将椰子成5份,多出一个椰子,便给了旁边的猴子,然后自己藏起一份,再将剩下的椰子重新合在一起,继续睡觉。不久,第二名水手醒来,同样将椰子成5份,恰好也多出一个,也给了猴子。然后自己也藏了一份,再将剩下的椰子重新合在一起。以后每个水手都如此了一次并藏了一份,也恰好都把多出的一个给了猴子。第二天,5个水手醒来,发现椰子少了许多,心照不宣,便把剩下的椰子成了5份,恰好又多出一个,给了猴子。

yzxjsw 1658

水手和椰子

题目描绘 5各水手在岛上发现一堆椰子,先由第一个水手把椰子为5堆,还剩下1个给了猴子,自己藏起1堆.然后,第2个水手把剩下的4堆混合后重新为等量的5堆,还剩下一个给了猴子,自己藏起1堆。以后第3、4各水手依次按此方法处理。最后第个水手把剩下的椰子为等量的5堆后,同样剩下1个给了猴子。请用迭代法编程计算并输出原来这堆椰子至少有多少个。 参考答案 若某水手对面的椰子数是y个,则他前面一个...

qq_37720915的博客 4708

c语言个水手椰子答案,水手椰子——迭代法、递归解题

题目内容:n(1< n <=5)个水手在岛上发现一堆椰子,先由第1个水手把椰子为等量的n堆,还剩下1个给了猴子,自己藏起1堆。然后,第2个水手把剩下的n-1堆混合后重新为等量的n堆,还剩下1个给了猴子,自己藏起1堆。以后第3、4个水手依次按此方法处理。最后,第n个水手把剩下的椰子为等量的n堆后,同样剩下1个给了猴子。请用迭代法编程计算并输出原来这堆椰子至少有多少个,n的值要求从键...

weixin_35717941的博客 5796

海盗椰子c语言编程,水手椰子——迭代法、递归解题(示例代码)

题目内容:n(1< n <=5)个水手在岛上发现一堆椰子,先由第1个水手把椰子为等量的n堆,还剩下1个给了猴子,自己藏起1堆。然后,第2个水手把剩下的n-1堆混合后重新为等量的n堆,还剩下1个给了猴子,自己藏起1堆。以后第3、4个水手依次按此方法处理。最后,第n个水手把剩下的椰子为等量的n堆后,同样剩下1个给了猴子。请用迭代法编程计算并输出原来这堆椰子至少有多少个,n的值要求从键...

weixin_36138524的博客 2470

海盗椰子

----------------------------------------------------------Sun--------------------------------------------------------------------------- 来自牛客智力题   话说某天一艘海盗船被天下砸下来的一头牛给击中了,5个倒霉的家伙只好逃难到一个孤岛,发现岛上孤零

留给互联网世界的一些字节 1855

递归函数法解水手椰子问题

问题:水手椰子 个水手在岛上发现一堆椰子,先由第1个水手把椰子为等量的5堆,还剩下1个给了猴子,自己藏起1堆。然后,第2个水手把剩下的4堆混合后重新为等量的5堆,还剩下1个给了猴子,自己藏起1堆。以后第3、4个水手依次按此方法处理。最后,第5个水手把剩下的椰子为等量的5堆后,同样剩下1个给了猴子。请用迭代法编程计算并输出原来这堆椰子至少有多少个

ajarspp114的博客 3618

、猴子、椰子问题

题目:5个水手带着一只猴子来到一座荒岛,见岛上有大量椰子,他们便把这些椰子平均堆,多余的一只给猴子吃了,夜深静,一个水手偷偷起来拿走了一堆椰子,把剩下的椰子又平均堆,结果多出一只椰子,就顺手丢给猴子吃了,过了一会儿,另一个水手也偷偷起来了,拿走了一堆椰子后,再把剩下的椰子平均堆,结果还多了一只,又丢给猴子吃了。就这样,5个水手依次偷偷爬起来藏起一堆椰子后又重新椰子,每次

技术成长笔记 2150

股神工智能股票预测系统V3.1

股神--工智能股票预测系统是专门为股票投资者开发的一套全新的基于工智能技术的股票趋势预测软件平台。该软件以基因演化算法(GP)为内核对股票交易历史数据进行自动建模和学习,挖掘出股票交易大数据中隐藏的行为规律,并以此为依据对下一个股票日的最高价和最低价的涨跌趋势进行预测析。该软件能够帮助您了解何时进入股市,何时退出股市,并在最佳的时机买进或卖出股票,从而获取最大的利润和收益。支持6种典型的股票类别:上证指数、上证A股、上证B股、深证指数、深证A股和深证B股。精确的股票预测信息(如上涨、下跌或持平)和买卖推荐信息(如买入、卖出、持股以及买入价、卖出价等)。基因演化算法参数支持用户自定义,默认设置为种群大小:30,杂交概率:0.8,变异概率:0.1,最大运行代数:1000。支持批量操作,如股票批量评测、模型批量训练、股票批量预测、批量增加股票代码、批量添加/撤销我的股票池等。对大多数股票而言,最高价与最低价的涨跌趋势预测准确度达60%-80%;对部股票而言,预测准确度最高可达90%。仅需简单的操作即可完成股票评测、智能选股、模型训练以及股票预测等功能。系统主界面支持从云数据库和本地数据库自动更新最优股票预测信息。支持流行的微软Windows操作系统,如Windows 98/Me/2000/XP/Vista/7。

上一篇: C语言中的二进制、八进制、十进制、十六进制
下一篇: 用C语言实现打印菱形
齐天2015
博客等级 码龄12年 2粉丝 4原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值