石头剪刀布

在知乎上看到一个问题,「石头剪子布」游戏还有其它变种吗?。得票最多的回答给出了有趣的答案,并且提出了一个问题:什么样的手势容易被记住?

设计规则大家都看明白了,毫无难度,难点是设计101个表示不同胜负要素的手势——打死我也不可能记住的。

利用同余概念,即

同余
同余
,可以给出一个很好的回答。

我们作如下的定义:

  1. N个手势,0...N-1
  2. 胜负规则, i 胜 从i+1开始的(N-1)/2个元素,i负给另 (N-1)/2个元素。比如N=5,0胜 1、2 ,负3、4.其他的依次类推

对于任意手势x,y。x-y可能的取值范围是[-(N-1),-(N-2),...0...N-2,N-1]
注意到-i与N-i(i>0)描述的是相同的胜负结果,即 -i=N-i %N 。
根据前面定义的胜负规则,可知x的胜负情况由下面的公式判定。
result=(x-y)%N

  1. result=0 平手
  2. 0< result <=
    N-1/2

  3. N+1/2

    <= result<=N-1 负

这样一来,对于RPS-N中的任意两个手势,胜负的判定就交给这个公式计算就行了,而不需要记住所有的规则

你可能感兴趣的:(石头剪刀布)