每天一道博弈论之“Fibonacci Nim”

  题意:

  一堆n个石子,先手可以取任意个但不能取完,之后每个人不能取超过前一个人所取石子数的2倍(最少要取一个)。问谁会赢。

  结论:

  当n为斐波那契数列中的数时,后手胜,否则先手胜。

 

 对证明感兴趣的同学可以看一下这篇博客,博主讲得挺好:http://blog.csdn.net/dgq8211/article/details/7602807

转载于:https://www.cnblogs.com/zub23333/p/8559103.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Fibonacci Nim一个游戏,与Fibonacci数列有密切关系。根据引用\[1\]的描述,先手胜利的条件是硬币数量不是Fibonacci数。换句话说,必败态构成Fibonacci数列。如果硬币数量是Fibonacci数,那么后手必胜。这是因为先手只能在Fibonacci数列中的一堆中取硬币,而后手可以根据上一个问题的子问题的解决方案取走该堆最后一枚硬币,从而剩下的一堆硬币也可以如此拆分,使得先手必败。如果硬币数量不是Fibonacci数,根据Zeckendorf定理,可以将硬币数量表示为不连续的Fibonacci数之和。在这种情况下,先手可以先取完最小的一堆硬币,而后手无法取完剩下的最少的一堆硬币,从而面对必败态。因此,先手可以在每一堆中取到最后一枚硬币,从而获胜。\[2\]根据引用\[3\]中的代码,可以通过判断硬币数量是否是Fibonacci数来确定先手或后手的胜利。如果硬币数量是Fibonacci数,输出"Second win";如果不是,输出"First win"。 #### 引用[.reference_title] - *1* *3* [斐波那契博弈](https://blog.csdn.net/iteye_6233/article/details/82396581)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Fibonacci Nim(斐波那契尼姆)游戏](https://blog.csdn.net/darren0424/article/details/101639021)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值