数学中国

用户名  找回密码
 注册
帖子
热搜: 活动 交友 discuz
查看: 3812|回复: 4

取石子问题

[复制链接]
发表于 2021-6-11 17:25 | 显示全部楼层 |阅读模式
有三堆石子,数量分别为18,20,36,两个人轮流取石一次,每次从任意一堆石子中,至少取走1颗,谁取到最后的一颗石子为输,请指定一个取胜策略。
发表于 2021-6-11 17:29 | 显示全部楼层
三)尼姆博奕(Nimm Game):有三堆各若干个物品,两个人轮流从某一堆取任意多的物品,规定每次  至少取一个,多者不限,最后取光者得胜。  &#160;&#160;&#160; 这种情况最有意思,它与二进制有密切关系,我们用(a,b,c)表示某种局势,首先(0,0,0)显  然是奇异局势,无论谁面对奇异局势,都必然失败。第二种奇异局势是(0,n,n),只要与对手拿走一  样多的物品,最后都将导致(0,0,0)。仔细分析一下,(1,2,3)也是奇异局势,无论对手如何拿,  接下来都可以变为(0,n,n)的情形。  &#160;&#160;&#160; 计算机算法里面有一种叫做按位模2加,也叫做异或的运算,我们用符号(+)表示这种运算。这种运  算和一般加法不同的一点是1+1=0。先看(1,2,3)的按位模2加的结果:  1 =二进制01 2 =二进制10 3 =二进制11 (+) ——————— 0 =二进制00 (注意不进位)  &#160;&#160;&#160; 对于奇异局势(0,n,n)也一样,结果也是0。  &#160;&#160;&#160; 任何奇异局势(a,b,c)都有a(+)b(+)c =0。  如果我们面对的是一个非奇异局势(a,b,c),要如何变为奇异局势呢?假设 a < b< c,我们只要将 c  变为 a(+)b,即可,因为有如下的运算结果: a(+)b(+)(a(+)b)=(a(+)a)(+)(b(+)b)=0(+)  0=0。要将c 变为a(+)b,只要从 c中减去 c-(a(+)b)即可。  &#160;&#160;&#160; 例1。(14,21,39),14(+)21=27,39-27=12,所以从39中拿走12个物体即可达到奇异局势(14  ,21,27)。  &#160;&#160;&#160; 例2。(55,81,121),55(+)81=102,121-102=19,所以从121中拿走19个物品就形成了奇异局势  (55,81,102)。  &#160;&#160;&#160; 例3。(29,45,58),29(+)45=48,58-48=10,从58中拿走10个,变为(29,45,48)。  &#160;&#160;&#160; 例4。我们来实际进行一盘比赛看看: &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 甲7,8,9)->(1,8,9)奇异局势 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 乙1,8,9)->(1,8,4) &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 甲1,8,4)->(1,5,4)奇异局势 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 乙:(1,5,4)->(1,4,4) &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 甲:(1,4,4)->(0,4,4)奇异局势 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 乙:(0,4,4)->(0,4,2) &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 甲:(0.4,2)->(0,2,2)奇异局势 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 乙:(0,2,2)->(0,2,1) &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 甲:(0,2,1)->(0,1,1)奇异局势 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 乙:(0,1,1)->(0,1,0) &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 甲:(0,1,0)->(0,0,0)奇异局势 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 甲胜。
回复 支持 反对

使用道具 举报

发表于 2025-4-20 01:04 | 显示全部楼层
1,有确定开局局面.
2,局面态势总数有限,且不会陷入重复而导致循环,即在有限步聚后必然分出胜负,不存在和局.
则游戏结果只与开局局面与先后手有关,与游戏过程完全无关.(假定双方足够聪明,且以取胜为目的.)
所有局面分为两种,即先手必羸与先手必输.取胜策略为自己操作后,形成先手必输局面.
将三堆石子数均用二进制表示,三个数的相同数位位字相加,不向前进位,根据和的奇偶性判断先后手.
例:(1,2,3)表示成二进制,(1,10,11),1+0+1=2,1+1=2,两个和皆为偶,则先手必然取不到最后一个.
(1,2,4)表示成二进制,(1,10,100),1+0+0=1,1+0=1,1=1,三个和有奇数,则先手必然有策略可以取到最后一个.
(18,20,36)----(10010,10100,100100)----6个和分别是1,2,0,2,1,0,有奇数,则先手必然会取到最后一个,板上钉钉.
回复 支持 反对

使用道具 举报

发表于 2025-5-12 15:04 | 显示全部楼层
异或逻辑。11=0,00=0,10=1,01=1
1,2,3变为二进制异或运算后为0,先手必败。因为无论你怎么取,取后的结果都不是0,而对手总能把它变为0.
回复 支持 反对

使用道具 举报

发表于 2025-5-19 21:48 | 显示全部楼层
本帖最后由 alwy01 于 2025-5-19 21:55 编辑

可以用Excel 编程解决。
第一次操作后变为(18,20,6)局面,8个和皆为0.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

LaTEX预览输入 教程 符号库 加行内标签 加行间标签 
对应的 LaTEX 效果:

Archiver|手机版|小黑屋|数学中国 ( 京ICP备05040119号 )

GMT+8, 2025-7-23 02:03 , Processed in 0.119891 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表
\frac{\square}{\square}\sqrt{\square}\square_{\baguet}^{\baguet}\overarc{\square}\ \dot{\baguet}\left(\square\right)\binom{\square}{\square}\begin{cases}\square\\\square\end{cases}\ \begin{bmatrix}\square&\square\\\square&\square\end{bmatrix}\to\Rightarrow\mapsto\alpha\ \theta\ \pi\times\div\pm\because\angle\ \infty
\frac{\square}{\square}\sqrt{\square}\sqrt[\baguet]{\square}\square_{\baguet}\square^{\baguet}\square_{\baguet}^{\baguet}\sum_{\baguet}^{\baguet}\prod_{\baguet}^{\baguet}\coprod_{\baguet}^{\baguet}\int_{\baguet}^{\baguet}\lim_{\baguet}\lim_{\baguet}^{\baguet}\bigcup_{\baguet}^{\baguet}\bigcap_{\baguet}^{\baguet}\bigwedge_{\baguet}^{\baguet}\bigvee_{\baguet}^{\baguet}
\underline{\square}\overline{\square}\overrightarrow{\square}\overleftarrow{\square}\overleftrightarrow{\square}\underrightarrow{\square}\underleftarrow{\square}\underleftrightarrow{\square}\dot{\baguet}\hat{\baguet}\vec{\baguet}\tilde{\baguet}
\left(\square\right)\left[\square\right]\left\{\square\right\}\left|\square\right|\left\langle\square\right\rangle\left\lVert\square\right\rVert\left\lfloor\square\right\rfloor\left\lceil\square\right\rceil\binom{\square}{\square}\boxed{\square}
\begin{cases}\square\\\square\end{cases}\begin{matrix}\square&\square\\\square&\square\end{matrix}\begin{pmatrix}\square&\square\\\square&\square\end{pmatrix}\begin{bmatrix}\square&\square\\\square&\square\end{bmatrix}\begin{Bmatrix}\square&\square\\\square&\square\end{Bmatrix}\begin{vmatrix}\square&\square\\\square&\square\end{vmatrix}\begin{Vmatrix}\square&\square\\\square&\square\end{Vmatrix}\begin{array}{l|l}\square&\square\\\hline\square&\square\end{array}
\to\gets\leftrightarrow\nearrow\searrow\downarrow\uparrow\updownarrow\swarrow\nwarrow\Leftarrow\Rightarrow\Leftrightarrow\rightharpoonup\rightharpoondown\impliedby\implies\Longleftrightarrow\leftharpoonup\leftharpoondown\longleftarrow\longrightarrow\longleftrightarrow\Uparrow\Downarrow\Updownarrow\hookleftarrow\hookrightarrow\mapsto
\alpha\beta\gamma\Gamma\delta\Delta\epsilon\varepsilon\zeta\eta\theta\Theta\iota\kappa\varkappa\lambda\Lambda\mu\nu\xi\Xi\pi\Pi\varpi\rho\varrho\sigma\Sigma\tau\upsilon\Upsilon\phi\Phi\varphi\chi\psi\Psi\omega\Omega\digamma\vartheta\varsigma\mathbb{C}\mathbb{H}\mathbb{N}\mathbb{P}\mathbb{Q}\mathbb{R}\mathbb{Z}\Re\Im\aleph\partial\nabla
\times\cdot\ast\div\pm\mp\circ\backslash\oplus\ominus\otimes\odot\bullet\varnothing\neq\equiv\not\equiv\sim\approx\simeq\cong\geq\leq\ll\gg\succ\prec\in\ni\cup\cap\subset\supset\not\subset\not\supset\notin\not\ni\subseteq\supseteq\nsubseteq\nsupseteq\sqsubset\sqsupset\sqsubseteq\sqsupseteq\sqcap\sqcup\wedge\vee\neg\forall\exists\nexists\uplus\bigsqcup\bigodot\bigotimes\bigoplus\biguplus\bigcap\bigcup\bigvee\bigwedge
\because\therefore\angle\parallel\perp\top\nparallel\measuredangle\sphericalangle\diamond\diamondsuit\doteq\propto\infty\bowtie\square\smile\frown\bigtriangledown\triangle\triangleleft\triangleright\bigcirc \wr\amalg\models\preceq\mid\nmid\vdash\dashv\nless\ngtr\ldots\cdots\vdots\ddots\surd\ell\flat\sharp\natural\wp\clubsuit\heartsuit\spadesuit\oint\lfloor\rfloor\lceil\rceil\lbrace\rbrace\lbrack\rbrack\vert\hbar\aleph\dagger\ddagger

MathQuill输入:

Latex代码输入: