可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。
【摘要】:有三堆或多于三堆的火柴。每堆火柴一根数是任意的,但每堆火柴的根数不全为1. 两个玩家轮流拿取火柴.每次只能从其中一堆里拿,至少一根,至多一整堆.拿取最后一根火柴的人为输家.这便是中国古代游戏——拿三堆.关于这个游戏,我们得到了下列结果:将每堆火柴的根数用二进制数表示,将同一数位上的数字(1或0)相加,用S_j(j=1、2,…,n)表示和数并令S=(S_1、S_2,…,S_n)定义(1)若诸S_j皆为偶数.则称S是偶的,(2)若并非所有的S_j皆为偶数,则称S是奇的. 定理1:若S是偶的,则无论如何拿取,拿后是S将是奇的. 定理2:若S是奇的,则至少存在一种拿法,使拿后的S成为偶的. 这里的结果将有助于解决组合数学和图论中的一柴问题.
支持CAJ、PDF文件格式,仅支持PDF格式
|
|
|
|
||
|
|
||||||||||
|
|
|
|
可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。
就1个折半查找嘛。。。。
简单写了个,貌似不太合题意,但7步以内能猜到任何1-100的数字,因为我要求回答电脑的***是3个,1,是,2,等,0,不是。可能不和要求,你看了后具体提下问题该怎么问,反正我觉得这种要求3种***的像是***,呵呵。因为涉及是否等于边界的问题,50、25(75)、38(63、87)……我觉得还非得加入“等于”这个***才解得出来。另外,我每行基本上都有tab键让格式美观的……到了网页上貌似tab这个纠结的键的原因让代码。。。你编译之前Cril+A全选然Alt+F8整理格式吧。C++源码:
{ //你会输入7个1,然后程序告诉你输入错误或者在耍他。
flag1 = 2; //对应的如果连续输入7个0的话你想着的数字绝对是
break; //小于1的,程序可以判断,这个if只是针对100这个特殊数字
} //可能是因为你要找1-100,而建立数组是0-99的原因吧