海盗分金币

有趣的编程(一)——海盗分金币问题如何编程求解 0. 写作目的 有趣的编程。 1. 问题描述 有n个海盗,分k个金币。 分配原则:依次从第一个人到最后一个人提出分配方法,只有当超过半数的人同意时,方案生效。如果该人提出的方案不能生效,则该人会被扔到水里喂鱼。游戏只能玩一次。问:第一个人如何提出分配方案才能最大化自己的利益? 假设:1) 所有的海盗都很聪明,而且理智;            2) 人性本恶(如当只有两个人时,无论第一个... 阅读详情
/*
    有5个海盗,相约进行一次帆船比赛。
    比赛中天气发生突变,他们被冲散了。
    恰巧,他们都先后经过途中的一个无名的荒岛,并且每个人都信心满满,觉得自己是第一个经过该岛的人。
    第一个人在沙滩上发现了一堆金币。他把金币分成5等份。发现刚好少一个金币。他就从自己口袋拿出一个金币补充进去,然后把属于自己的那份拿走。
    第二个到达的人也看到了金币,他也和第一个人一样,把所有金币5等分,发现刚好缺少一个金币,于是自己补进去一个,拿走了属于自己的那份。
    第三,第四,第五人的情况一模一样。
    等他们到了目的地,都说自己的情况,才恍然大悟,一起去荒岛找金币,然而再也没有找到荒岛。他们都惋惜地说:岛上还有一千多枚金币呢!
    请你根据这些信息,推算荒岛上最初有多少金币?
*/
public class Main{

    public static int f(int n,int k){
        if(k==6){
            return n;
        }
        if(n%4==0){
            return f(n*5/4-1,k+1);
        }else{
            return -1;
        }
    }


    public static void main(String[] args) {
        for(int i=1000;i<2000;i++){
            int result=f(i,1);
            if(result!=-1){
                System.out.println(i+" "+result);
            }
        }
    }

}
算法逻辑题-海盗分金币问题 有5个海盗,获得了100枚金币,他们约定一个分配方案. 商议方式:1.有5个海盗轮流提出分配方案 2.如果超出半数海盗(包括提出者)同意该方案,则按照该方案分配 3.如果同意该方案的人数(包括提出者)小于等于半数,则提出者要被扔到海里喂鱼,剩余海盗继续商议分配 4.海盗们是绝对理性的,以自己尽可能获得金... 阅读详情

相关推荐

推广的海盗分金币问题的算法

在杨军blog上看见一个海盗分金币问题,很有趣,准备在这里推广并用计算机可操作的算法实现。原题的描述以及解题思路杨军已经给出了,详见hi.baidu.com/yjpro/blog/category/%D6%C7%C1%A6%D1%B5%C1%B7。推广:n个海盗,m个金币。其中n >= 2,m >= 1。基本思想:杨军已经给出,关键就是“倒着想”,并假设每个海盗都很

forrest_gangp 2678

第五届A组蓝桥杯决赛

历年蓝桥杯决赛题目汇总

qq_40871196的博客 619

关于海盗分金币问题的讨论(面试题)[]

关于海盗分金币问题的讨论(面试题)

James_Nan的博客 3242

【每日一道智力题】之海盗分金币(上)

今天的每日一道智力题呀

睿的博客 3171

程序员面试智力题之海盗分金币问题

现在一般的软件公司招程序员的时候总喜欢问一些智力题,所以找一些智力题练练是很有必要的。记得之前在笔试某一家软件公司的时候,被问到这样一道题: 从前有五个海盗抢得了100枚金币.他们通过了一个如何确定选用谁的分配方案的安排.即:         1.抽签决定各人的号码(1,2,3,4,5);        2.先由1号提出分配方案,然后5个人表决.当且仅当超过半数人同意时,方案才算被通过,否则

ELVIS8090的专栏 5128

经典面试题--海盗分金币的逻辑分析

我们不防先假设场上只剩下2个人的情况:海盗四和海盗五,此时,无论海盗四出什么方案,海盗五只要否认就好了,这样得票数1:1,按规则赞成票小于等于一半,海盗四将投死,海盗五赢100个金币。海盗五也会同意,虽然他知道最后只剩下他时,他利益最大化,但他也知道,只有3个海盗时,海盗三的方案一定会通过,届时自己0个,此方案有1个,因此必然同意。最后回到五个海盗的场景,海盗一来分配:自己97个,海盗二0个,海盗三1个,海盗四0个,海盗五2个。海盗五想着轮到海盗二时,自己只有1个的方案必然会通过,而现在有2个,也会同意。

借雨醉东风的博客 1607

5个海盗,分100个金币

五位绝顶聪明、勇敢、理智、果断干练的女海盗抢得100枚金币后,讨论如何进行公正分配。他们商定的分配原则是:   (1)抽签确定各人的分配顺序号码(1,2,3,4,5);   (2)由抽到1号签的女海盗提出分配方案,然后5人进行表决,如果方案得到超过半数的人同意,就按照他的方案进行分配,否则就将1号扔进大海喂鲨鱼   (3)如果1号被扔进大海,则由2号提出分配方案,然后由剩余的4人进行表决,当

没有煞笔就是哥 2万+

智能安防摄像头埋点实践:用户行为与设备状态的闭环监控(含AI事件)

智能安防摄像头埋点闭环体系设计及应用实践 摘要: 本文系统阐述了智能安防摄像头埋点闭环体系的设计与实践。首先分析了传统埋点的不足及闭环埋点的价值,提出由用户行为埋点、设备状态埋点和AI事件埋点构成的三维埋点体系框架。详细介绍了闭环监控的四大流程:数据采集、汇聚清洗、分析建模和智能决策。通过误报优化、个性化策略等案例展示了AI事件闭环的实际应用价值,并探讨了隐私合规、性能优化等关键挑战的解决思路。最后展望了端侧AI增强、预测型埋点等未来发展趋势。该体系实现了从数据采集到业务决策的完整闭环,有效提升了AI模型性

专注智能硬件软硬件产品经理成长与实战,分享从需求定义到量产落地的真实日记。涵盖IoT趋势洞察、研发协作经验、产品方法论与工具箱,用轻松有趣的“汪式”视角,陪伴产品经理成长、避坑与升级。 1046

博弈论系列—海盗分金币

在面试的过程中,除了常规的算法题目,我们经常也会被问到一些趣味题型来考察思维,尤其以 FLAG(Facebook, LinkedIn, Amazon, Google)等公司为典型。而这类问题的背后,很多都有博弈论的影子。所以在本系列,我将为大家分享一整套需要掌握的博弈论相关知识,希望大家可以喜欢。 PS:本系列将不一定都是算法问题,不是IT行业的小伙伴也可以进行学习,来提高自身分析问题的能力。 01、海盗分金币问题 海盗分金币 在大海上,有5个海盗抢得100枚金币,他们决定每一个人按顺.

Google大神 9944

LT码与Raptor码的性能仿真

从数据分析看来,在数据块大小较小时(100 - 200 左右 ),LT 码和 Raptor 码的平均冗余符号数量差距相对较小,但 LT 码的冗余符号数量始终高于 Raptor 码。现在采用MATLAB进行仿真,直观展示不同数据块大小下,两种解码方式的解码时间差异.如图4.1所示,LT解码(绿色圆点折线)LT 解码方式的解码时间随数据块大小的变化情况。从实际应用的角度来看,LT码由于其简单的编码机制,适用于资源受限或对编码效率要求较高的场景,但其较高的解码复杂度限制了其在一些实时性要求较高的应用中的使用。

道亦无名 1135

Qt 5.12.8在Linux下编译qtvirtualkeyboard模块,我踩过的那些坑(附完整解决方案)

本文详细介绍了在Linux系统下为Qt 5.12.8单独编译qtvirtualkeyboard模块的完整解决方案。通过分析模块缺失原因、提供精准的编译步骤和常见问题处理,帮助开发者高效解决虚拟键盘模块缺失问题,避免重新编译整个Qt源码的繁琐过程。

weixin_29248611的博客 457

c语言海盗分1000个金币,海盗分金币问题及代码实现

看到一个非常有趣的问题:5个海盗A、B、C、D、E抢得100枚金币,他们按顺序依次提方案:首先由A提出分配方案,然后5人表决,超过半数同意方案才被通过,否则他将被扔入大海喂鲨鱼,依此类推,假设这5人都非常聪明并且绝对的理性,严格遵守规则,并且足够残忍,在自己收益相同的情况下会选择杀更多人。最后他们的分配方案是怎样的?我的推理过程:这个问题如果顺着推,从5个人直接开始,会陷入“海盗都足够聪明,收益最...

weixin_39638304的博客 1917

ADI恒流驱动芯片LT3763调试心得(25A恒流驱动)

看似很简单的一个电路,调了好几版硬件,中间还出现过一个插曲,就是电感,我用的是27A,1.5uH的,贴片封装,由于频繁试板,电感来回用热风枪拆了3次,结果上电空载到3A都没有问题,但是以上10A以上,就出现烧LT3763和mos的情况,一连烧了8片,搞得有点怀疑人生,一度觉得我的电路设计有问题,邮件咨询ADI的FAE后,确认电路设计没有问题。1、大功率同步整流的Nmos管都是取不同的型号,就是厂家推荐的主开关管和续流管的型号往往都不一样,这个里面有什么讲究,我没有整明白,暂时也不需要弄明白。

liming98lm的博客 3914

海盗分金币 两种条件下的分析

文章目录海盗分金币大于50%同意大于等于50%同意 海盗分金币 具体描述: 大于50%同意 大于等于50%同意

周平的专栏 2821

最新首发——boss直聘爬虫

本文介绍了使用Python开发Boss直聘爬虫的核心思路和技术要点。通过模拟浏览器访问搜索页面获取Cookie,然后构建API请求获取职位数据。关键步骤包括:1)使用DrissionPage库初始化浏览器;2)模拟用户浏览行为获取必要参数;3)设置完整的请求头信息;4)通过POST请求获取JSON格式的职位数据。文章提供了详细的代码实现,包括浏览器模拟、API请求构建、数据处理等核心功能模块,并强调了最新版接口改为POST访问的特点。该爬虫可自动翻页采集数据并保存为Excel文件,适用于安全实习等职位信息的

2301_79735033的博客 3315

YOLOv11改进 ,YOLOv11改进主干网络为MobileNetV3,助力涨点

MobileNetV3通过结合硬件感知网络架构搜索(NAS)和NetAdapt算法,通过新颖的架构改进进一步提升了性能。本文开始探讨了自动化搜索算法与网络设计如何协同工作,以利用互补方法来提升整体技术水平。通过这一过程,创建了两个新的MobileNet模型:MobileNetV3-Large和MobileNetV3-Small,分别针对高资源和低资源使用场景。这些模型随后被适配并应用于目标检测和语义分割任务。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 1932

微软面试题——海盗分金币:)

那天ROVER问了我们一个问题是网上流传的一道著名的微软面试题——海盗分金币。题目的大意是:    5个海盗抢得100枚金币后,讨论如何进行公正分配。他们商定的分配原则是:    (1)抽签确定各人的分配顺序号码(1,2,3,4,5);    (2)由抽到1号签的海盗提出分配方案,然后5人进行表决,如果方案得到超过半数的人同意,就按照他的方案进行分配,否则就将1号扔进大海喂鲨鱼;    ...

diaoliurong2173的博客 876

【附代码】SSVEP解码算法 - 扩展典型相关分析(eCCA)

本文主要对SSVEP解码算法-eCCA进行复现和测试。本文提供程序的所有代码,只要在Matlab上即可运行。读者可以根据程序自主调整,方便学习以及初学者更好地了解SSVEP的经典算法。

计算机小白 1334

蓝桥杯 海盗分金币

标题:海盗分金币     有5个海盗,相约进行一次帆船比赛。     比赛中天气发生突变,他们被冲散了。     恰巧,他们都先后经过途中的一个无名的荒岛,并且每个人都信心满满,觉得自己是第一个经过该岛的人。     第一个人在沙滩上发现了一堆金币。他把金币分成5等份。发现刚好少一个金币。他就从自己口袋拿出一个金币补充进去,然后把属于自己的那份拿走。

K键盘里的青春K 1381

使用 Python 爬取 Wikipedia 数据:抓取百科条目及其内容

维基百科的 API 提供了一些方便的接口,通过这些接口,我们可以轻松获取到维基百科的条目、类别、图片和其他相关信息。维基百科的 API 主要是基于 HTTP 请求的,通过向特定的 URL 发送 GET 请求来获取信息。:获取指定条目的内容。在本博客中,我们介绍了如何使用 Python 爬取维基百科的条目数据。通过使用 Wikipedia API 和网页抓取技术,我们能够高效地获取条目内容,并将其存储和分析。希望本篇教程能帮助你深入理解如何抓取和处理维基百科的数据。

2201_76125261的博客 475

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

海盗分金币问题

今天晚上,有个同学出了道海盗分金币的问题来拷问我。我干脆用程序来把它做了。唉,好吧,承认概率已经退步了,而且还很不爱动脑筋。不过如果让计算机来处理这样的问题,不考虑算法复杂度的话,实在忒简单了。不考虑算法复杂度,几分钟就把程序写完跑通了。可是更高效的程序,和直接的概率解法是怎样的呢?下次请教这位大牛同学吧。

FinixLei的专栏 (https://github.com/FinixLei) 3166

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

蓝桥杯14年国赛试题——海盗分金币

问题: 有5个海盗,相约进行一次帆船比赛。 比赛中天气发生突变,他们被冲散了。 恰巧,他们都先后经过途中的一个无名的荒岛,并且每个人都信心满满,觉得自己是第一个经过该岛的人。 第一个人在沙滩上发现了一堆金币。他把金币分成5等份。发现刚好少一个金币。 他就从自己口袋拿出一个金币补充进去,然后把属于自己的那份拿走。 第二个到达的人也看到了金币,他也和第一个人一样,把所有金币5等分,发现刚好缺少一个金币, 于是自己补进去一个,拿走了属于自己的那份。 第三,第四,第五人的情况一模一样。 等他们到了目的地,都说自己的

qwqc262的博客 546

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

逻辑思维题 之 海盗分金币

海盗分金币 题目:5个海盗抢得100枚金币后,讨论如何进行公正分配。他们商定的分配原则是: (1)抽签确定各人的分配顺序号码(1, 2,3, 4, 5) ; (2)由抽到1号签的海盗提出分配方案,然后5人进行表决,如果方案得到半数或以上的人同意,就按照他的方案进行分配,否则就将1号扔进大海喂鲨鱼; (3)如果1号被扔进大海,则由2号提出分配方案,然后由剩余的4人进行表决,当半数或以上的人同意时,才会按照他的提案进行分配,否则也将被扔入大海; (4)依此类推。 这里假设每一个海盗都是绝顶聪明而理性,他们都能够

笑望灬星辰 3410

有趣的海盗分金币问题

最近几天看到一个挺有趣的博弈相关的趣谈,今天来分享给大家,并且也会详细讲解最终问题的最优解,并且我还好通过这道题扯一扯递归。 问题描述 有 5 个海盗,获得了 100 枚金币,于是他们要商量一个方法来分配金币。商议方式如下: 由 5 个海盗轮流提出分配方案,规则如下 1、如果超过半数海盗(包括提出者)同意该方案,则按照该方案分配。 2、如果同意该方案的人数(包括提出者)小于等于半数,则提出者要被扔...

帅地 1万+
上一篇: 六角幻方
下一篇: 转换器和格式化
LuFei_java
博客等级 码龄10年 1粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值