海盗分金币编程海盗分金的故事 5个海盗抢到了100个金币,每一颗都一样的大小和价值连城.他们决定这么分:1.抽签决定自己的号码(1,2,3,4,5) 2.首先,由1号提出分配方案,然后大家5人进行表决

来源:学生作业学帮网 编辑:学帮网 时间:2024/04/29 06:52:40

海盗分金币编程
海盗分金的故事
5个海盗抢到了100个金币,每一颗都一样的大小和价值连城.
他们决定这么分:
1.抽签决定自己的号码(1,2,3,4,5)
2.首先,由1号提出分配方案,然后大家5人进行表决,当且超过半数的人同意时,按照他的提案进行分配,否则将被扔入大海喂鲨鱼.
3.如果1号死后,再由2号提出分配方案,然后大家4人进行表决,当且仅当半数和超过半数的人同意时,按照他的提案进行分配,否则将被扔入大海喂鲨鱼.
4.依次类推.
第一个海盗提出怎样的分配方案才能够使自己的收益最大化
条件:每个海盗都是很聪明的人,如果前面的人提出的方案对自己没好处肯定会否决,如果好处比后面持续下去的方案好就投票.
请用VB或Pascal语言编程,如果能推广到100人追加100分
不要抄袭

由题可知:当只有2人时,4号可以得到一切.所以只有3人时,只要3号给点点好处,5号会支持他,4号必定反对.所以只有4人时候,4号只有有一点点处必定支持,有了4号支持即可通过,另外的人没有好处.所以,3号5号在一开始,只要得到一点点好处就会支持.于是若金币不可分割,自己98个,3号5号各1个即可.
上边是自然语言,如果用程序语言,明显的,不能用推理.只能穷举,而且可能用到递归函数.这里给出思路:
前提:1.分给他人的都是1或0元(理由略).2.有一个函数find(a),a代表剩余人数.用于判断剩余这个人数时,提出分配方案者的利益是多少.这里给出find代码:
private find(a) as integer
dim b as integer
k(a)=1'自己会支持自己
b=0' 反对者数目
if a=5 then
find=100
else
for i=1 to 4
if a+i1 and (i mod 2 =1) then '如果下i个人,i为奇数能得到更大的利益,他会无条件反对你
b=b+1
k(a-i)=0
end if
end if
next i
find=100-b
if a=1 then
print "自己得到:"
print 100-b
print “其他得1元的人:”
for i=2 to 5
if k(i)=1 then
print i
end if
next i
end if
'没试过,应该有问题.

海盗分金币编程海盗分金的故事 5个海盗抢到了100个金币,每一颗都一样的大小和价值连城.他们决定这么分:1.抽签决定自己的号码(1,2,3,4,5) 2.首先,由1号提出分配方案,然后大家5人进行表决 100个海盗分100金币怎样才能使第一个海盗得到最多的金币! 找一些推理题~如:5个海盗分100个金币的问题. 5个海盗分100个金币问题!会的进, 海盗分金币的智力题目是怎么说的? 海盗分金币你们知道是那个的 微软面试题——海盗分金币被问及微软一个面试题:海盗分金币5个海盗抢得100枚金币后,讨论如何进行公正分配.他们商定的分配原则是:(1)抽签确定各人的分配顺序号码(1,2,3,4,5);(2 4个海盗,分100个金币问题.条件你们都懂的 说有10海盗,打捞到一笔财宝,内有100个金币.这10个海盗就开始分这100个金币.每个海盗都是非常聪明而且残忍而且贪得无厌的,每个海盗都想得到最多的金币,于是大家定出一个规矩:由于海盗们 5个海盗抢的100枚金币,如何进行公正分配?5个海盗抢的100枚金币,讨论如何进行公正分配,他们商定的分配原则是;抽签决定各人的分配顺序号(12345),由抽到1号签的海盗提出分配方按,然后5人进行 8海盗分金币5个海盗分一百个金币5个海盗排好序,由第一个人开始分,想好怎么分后所有人投票表决是否同意,如果同意人数不到总数一半那么分的人就被扔到海里喂鱼,由下一个继续分.问第1个 有100个金币,5个海盗分,从第一个海盗轮流提议 若有一半人不同意,提议的海盗就要被丢到海里.问若使第一个海盗得到最大的利益,而且不被丢到海里,问该如何提议?·3Q 海盗分赃-逻辑推理5个很聪明的海盗抢到100个金币,他们决定依次由A,B,C,D,E五个海盗来分当由A分时,剩下的海盗表决,如果B,C,D,E四人中有一半以上反对就把A扔下海,再由B分……以此类推;如果一 五个海盗分100个金币,怎么分才会达到金币最多?规则:每个海盗出个方案,方案需要二分之一的人赞成才通过(包括自己、三个人以上)如不通过,提出方案的海盗被处死.注:每个海盗是非常 博弈论经典问题经济学上有个“海盗分金”模型,是说5个海盗抢得100枚金币,他们按抽签的顺序依次提方案:首先由1号提出分配方案,然后5人表决,超过半数同意方案才被通过,否则他将被扔入 五个海盗分100个金币,改变规则后,只要50%票就可以通过. (海盗分金币)- - 在美国,据说20分钟内能回答出这道题的人,平均年薪在8万美金以上.5个海盗抢得100枚金币后,讨论如何进行公正分配.他们商定的分配原则是:(1)抽签确定各人的分配顺序号码 还有没有像海盗分金币这样的问题,来两个,顺便把分析写出来