一个最普通的火柴游戏就是两人一起玩,先置若干支火柴於桌上,两人轮流取,每次所取的数目可先作一些限制,规定取走最后一根火柴者获胜。 

  规则一:若限制每次所取的火柴数目最少一根,最多三根,则如何玩才可致胜? 

  例如:桌面上有 n=15 根火柴,甲、乙两人轮流取,甲先取,则甲应如何取才能致胜? 

  为了要取得最后一根,甲必须最后留下零根火柴给乙,故在最后一步之前的轮取中,甲不能留下1根或2根或3根,否则乙就可以全部取走而获胜。如果留下4根,则乙不能全取,则不管乙取几根(1或2或3),甲必能取得所有剩下的火柴而赢了游戏。同理,若桌上留有8根火柴让乙去取,则无论乙如何取,甲都可使这一次轮取后留下4根火柴,最后也一定是甲获胜。由上之分析可知,甲只要使得桌面上的火柴数为 4、8、12、16... 等让乙去取,则甲必稳操胜券。因此若原先桌面上的火柴数为15,则甲应取3根。(∵15-3=12)若原先桌面上的火柴数为18呢?则甲应先取2根(∵18-2=16)。 

  规则二:限制每次所取的火柴数目为1至4根,则又如何致胜? 

  原则:若甲先取,则甲每次取时,须留5的倍数的火柴给乙去取。 

  通则:有n支火柴,每次可取1至k支,则甲每次取后所留的火柴数目必须为k+1之倍数。 

  规则三:限制每次所取的火柴数目不是连续的数,而是一些不连续的数,如1、3、7,则又该如何玩法? 

  分析:1、3、7均为奇数,由於目标为0,而0为偶数,所以先取者甲,须使桌上的火柴数为偶数,因为乙在偶数的火柴数中,不可能再取去1、3、7根火柴后获得0,但假使如此也不能保证甲必赢,因为甲对於火柴数的奇或偶,也是无法依照己意来控制的。因为〔偶-奇=奇,奇-奇=偶〕,所以每次取后,桌上的火柴数奇偶相反。若开始时是奇数,如17,甲先取,则不论甲取多少(1或3或7),剩下的便是偶数,乙随后又把偶数变成奇数,甲又把奇数回覆到偶数,最后甲是注定为赢家;反之,若开始时为偶数,则甲注定会输。 

  通则:开局是奇数,先取者必胜;反之,若开局为偶数,则先取者会输。 

  规则四:限制每次所取的火柴数是1或4(一个奇数,一个偶数)。 

  分析:如前规则二,若甲先取,则甲每次取时留5的倍数的火柴给乙去取,则甲必胜。此外,若甲留给乙取的火柴数为5之倍数加2时,甲也可赢得游戏,因为玩的时候可以控制每轮所取的火柴数为5(若乙取1,甲则取4;若乙取4,则甲取1),最后剩下2根,那时乙只能取1,甲便可取得最后一根而获胜。 

  通则:若甲先取,则甲每次取时所留火柴数为5之倍数或5的倍数加2。

[数学故事]火柴游戏相关推荐

  1. 关于《写给青少年的数学故事:代数奇思》“二维码”一文的声明

    <写给青少年的数学故事:代数奇思>(以下称"本书")中原有名为"二维码"的一篇文章是"职业数学家在民间"公众号的原创作品,本书作 ...

  2. 数学故事中的「蛋」和「母鸡」

    本文作者:殷堰工,江苏省中职首批正高级讲师.苏州大学硕士生导师.苏州科技大学兼职教授.曾结集出版个人已发表的论文 20 万字的<数学解题策略精编>(上海科技教育出版社,1994)及发表过的 ...

  3. P1247 取火柴游戏

    P1247 取火柴游戏 题意: 有n堆火柴,两个人轮流操作,每次只能在从一堆中取若干火柴,拿走最后一根火柴的为胜者,给你一个状态,问先手是赢是输 题解: 很经典的nim博弈,结论大家应该都知道就是全部 ...

  4. 23根火柴游戏 c语言,23 根火柴游戏

    #includegt; int main() { int g = 23; int k = 3; int b, c;printf("这里是23 根火柴游戏!!\n"); printf ...

  5. 【游戏中的算法】取火柴游戏算法

    文章目录 一.取火柴游戏算法: 二.C/C++实现代码: 1.模拟两个人随机取火柴: 2.电脑随机取火柴,用户输入取火柴: 一.取火柴游戏算法: 取火柴游戏是一个非常简单有趣的小游戏,只要计算好步骤就 ...

  6. 游戏设计的艺术:一本透镜的书——第十六章 故事和游戏结构能用间接控制巧妙地联合起来

    这是一本游戏设计方面的好书 转自天之虹的博客:http://blog.sina.com.cn/jackiechueng 感谢天之虹的无私奉献 Word版可到本人的资源中下载 第十六章 故事和游戏结构能 ...

  7. 数学故事在小学数学课堂教学中的应用研究

    数学故事在小学数学课堂中是一种常见的教学方式,它可以帮助学生更好地理解数学知识,增强学生的学习兴趣和参与感.数学故事通过生动有趣的方式将抽象的数学概念转化为生活中的实际场景,从而使学生更容易理解和记忆 ...

  8. P1247 取火柴游戏 (博弈论)

    原题链接:取火柴游戏 - 洛谷 题目描述 输入 k及 k个整数 n1​,n2​,-,nk​,表示有 k 堆火柴棒,第 ii堆火柴棒的根数为ni​:接着便是你和计算机取火柴棒的对弈游戏.取的规则如下:每 ...

  9. 21 根火柴游戏(常胜将军)

    问题来自头歌 任务描述 本关任务:火柴游戏. 相关知识 为了完成本关任务,你需要掌握:C 语言基础. 火柴游戏 21 根火柴游戏.现有 21 根火柴,两人轮流取,每人每次可以取 1 至 4 根,不可多 ...

最新文章

  1. 马哥2016全新Linux+Python高端运维班第八周作业
  2. js小球与边框碰撞反弹_四叉树在碰撞检测中的应用
  3. python使用阿里云sdk
  4. 1.9 可避免误差-深度学习第三课《结构化机器学习项目》-Stanford吴恩达教授
  5. 程序员下班后收到工作信息怎么办?
  6. mysql语句怎么记_Mysql常用语句(记一下,免得忘)
  7. CentOS7安装mysql8并配置
  8. python网站用什么数据库_使用python读取mysql数据库并进行数据的操作
  9. java中的public,protected,package-private和private之间有什么区别?
  10. 转存文章— 网游加速器实现原理解析
  11. 32bit 天堂服务端假设教程
  12. Nginx反向代理:多域名跳转多台服务器(研发需求)
  13. html 调试502谷歌浏览器,谷歌浏览器打不开网页提示Server Error 502 Bad Gateway怎么修复?...
  14. Win10注册表无法保存对权限所作的更改拒绝访问
  15. FlowNet:使用卷积网络学习光流
  16. Spark系列之SparkSubmit提交任务到YARN
  17. AppStore 审核指南
  18. 接口管理工具Yapi禁用注册功能的配置解决方案
  19. 抖音下拉框电脑版,同步移动端能上传视频!
  20. python使用pip install安装django报错

热门文章

  1. Win系统 - 找回你的 Win8 / Win10 开始菜单
  2. 91-Williams' Percent Range 威廉指标.(2015.7.4)
  3. vue之table表格的合并
  4. python用函数绘制椭圆_详解opencv中画圆circle函数和椭圆ellipse函数
  5. .eslintrc.json配置及规则说明
  6. “蝉原则”与CSS3随机多背景随机圆角等效果
  7. python图形编程pdf_Python计算机视觉编程
  8. laravel 代码维护, 使用php artisan使用应用程序处于维护状态,
  9. (一)HBase基础
  10. 小米公交卡智能卡重庆畅通卡退卡退款的方法