毕业论文

打赏
当前位置: 毕业论文 > 计算机论文 >

计算机游戏两个火柴堆的程序设计(4)

时间:2017-05-09 22:42来源:毕业论文
方取,所以最后一根必己取。败。同理, T0态必胜# [定理6]:S1态,只要方法正确,必胜。 证明: 若此时孤单堆堆数为奇数,把充裕堆取完;否则,取成一


方取,所以最后一根必己取。败。同理,  T0态必胜#
[定理6]:S1态,只要方法正确,必胜。 
证明:
若此时孤单堆堆数为奇数,把充裕堆取完;否则,取成一根。这样,就变成奇数个孤单堆,由对方取。由定理5,对方必输。己必胜。  # 
[定理7]:S2态不可转一次变为T0态。 
证明:
充裕堆数不可能一次由2变为0。得证。  # 

[定理8]:S2态可一次转变为T2态。 
证明:
由定理1,S态可转变为T态,态可一次转变为T态,又由定理6,S2态不可转一次变为T0态,所以转变的T态为T2态。  # 
[定理9]:T2态,只能转变为S2态或S1态。 
证明:
由定理2,T态必然变为S态。由于充裕堆数不可能一次由2变为0,所以此时的S态不可能为S0态。命题得证。 
[定理10]:S2态,只要方法正确,必胜. 
证明:
方法如下: 
      1)  S2态,就把它变为T2态。(由定理8) 
      2)  对方只能T2转变成S2态或S1态(定理9)
    若转变为S2,  转向1) 
    若转变为S1,  这己必胜。(定理5) 
[定理11]:T2态必输。 
证明:同10。 
综上所述,必输态有:  T2,S0 
          必胜态:    S2,S1,T0. 
两题比较: 
第一题的全过程其实如下: 
S2->T2->S2->T2->  ……  ->T2->S1->T0->S0->T0->……->S0->T0(全0) 
第二题的全过程其实如下: 
S2->T2->S2->T2->  ……  ->T2->S1->S0->T0->S0->……->S0->T0(全0) 
下划线表示胜利一方的取法。  是否发现了他们的惊人相似之处。 
我们不难发现(见加黑部分),S1态可以转变为S0态(第二题做法),也可以转变为 
T0(第一题做法)。哪一方控制了S1态,他即可以有办法使自己得到最后一根(转变为 
T0),也可以使对方得到最后一根(转变为S0)。 
  所以,抢夺S1是制胜的关键! 
  为此,始终把T2态让给对方,将使对方处于被动状态,他早晚将把状态变为S1。
.1.2    相关资料
算术运算符
二元算术运算符包括:+、-、*、八% (取模运算符)。整数除法会截断结果中的小数部 分。表达式
的结果是x除以y的余数,当x能被y整除时,其值为0。例如,如果某一年的年份能被4 整除但不能被100整除,那么这一年就是闰年,此外,能被400整除的年份也是闰年。因此, 可以用下列语句判断闰年:
if ((year % 4 == 0 && year % 10 0 != 0) || year % 40 0 == 0) printf("%d is a leap year\n", year); else
printf("%d is not a leap year\n", year);
取模运算符%不能应用于float或double类型。在有负操作数的情况下,整数除法截 取的方向以及取模运算结果的符号取决于具体机器的实现,这和处理上溢或下溢的情况是一 样的。
二元运算符+和-具有相同的优先级,它们的优先级比运算符*、/和%的优先级低,而运 算符*、/和%的优先级又比一元运算符+和-的优先级低。算术运算符采用从左到右的结合规 则。
本章末尾的表2-1完整总结了所有运算符的优先级和结合律。  关系运算符与逻辑运算符
关系运算符包括下列几个运算符:> >=< <=
它们具有相同的优先级。优先级仅次于它们的是相等性运算符: 计算机游戏两个火柴堆的程序设计(4):http://www.youerw.com/jisuanji/lunwen_6693.html
------分隔线----------------------------
推荐内容