【问题标题】:Number to the left/right on a dice?骰子左/右的数字?
【发布时间】:2011-05-30 21:15:23
【问题描述】:

我想知道是否有公式/技巧来计算标准 6 面骰子的右侧或左侧的数字,如果您知道哪个数字在顶部,哪个数字面向您。

需要它来解决问题,但我不想在 if 语句中列出所有 24 种可能性...:)

【问题讨论】:

  • 好吧,只有 12 个,因为矩阵是对角对称的。

标签: math dice


【解决方案1】:

骰子的两面加起来总是 7(至少,这是惯例)。

通过消除过程,您可以知道“隐形”对是什么:

  • 1/6
  • 2/5
  • 3/4

因此,对于上面的每一对,如果您可以从中看到一个数字,请将其删除。剩下的一对就是您要找的那一对。

由于无法确定骰子的“手性”,因此无法判断哪一对将在右侧,哪个在左侧。

【讨论】:

  • 你仍然需要方向。
  • @ShreevatsaR - 对于给定的信息,这是不可能的,因为骰子的两面之间没有其他关系。
  • 嗯,对边的数字加起来是 7 也只是一个约定;您肯定可以找到(或制作)违反此条件的骰子。所以你在假设关于骰子的一些东西——也可以假设在“标准现代西方骰子”中找到的方向。如果没有任何这样的假设,这不是一个答案,因为你只剩下一对,而不是一个数字。
  • @ShreevatsaR - 这确实是一个约定。一个非常常见的。但是,我不知道任何关于骰子的其他约定可以帮助解决方向问题。
  • 查看@schnaader 的回答(而不是Wikipedia link)。
【解决方案2】:

我不知道为什么会这样,但是:

对于每一对(顶部/面向),当然只有两种可能性,因为顶部值和面向值都各自消除,并且与左侧或右侧相反:例如,如果 1 在顶部, 并且一个 2 面向你,那么左右必须是 3 或 4...

因此,对于每个组合,如果值的总和为奇数且小于 7,或偶数且大于 7,则两个可能值中较低的在左侧,较高的在右侧。

.. 反之亦然

因为我在美国,我想这条规则适用于“右撇子”骰子,反之则适用于左撇子骰子。

【讨论】:

    【解决方案3】:

    以编程方式,您可以很容易地做到这一点。这可能有点矫枉过正(因为您可以使用 if 语句),您还可以创建一个类,例如

    public class Dice {
       private DiceFace[] sides = new DiceFace[]{DiceFace.ONE, DiceFace.TWO, DiceFace.THREE, DiceFace.FOUR, DiceFace.FIVE, DiceFace.SIX};
    
    
       class DiceFace {
          // set the face number and connecting faces...the below figures are wrong, I don't have a set of dice to check agains
          static final DiceFace ONE = new DiceFace(1, 2, 3, 4, 5);
    
          private int face;
          private int northFace;
          private int southFace;
          private int eastFace;
          private int westFace;
    
          public DiceFace(int face, int northFace, int southFace, int eastFace, int westFace) {
              // set the values
          }
       }
    }
    

    然后,您可以编写一个方法,通过检查骰子及其左右两侧的值,为您的答案提供可能的值。

    【讨论】:

      【解决方案4】:

      没有 24 种可能性。

      来自Wikipedia

      对面的数字之和 面孔是七。

      既然你已经知道两个数字,那么剩下 4 种可能性。

      我不确定您所说的“在顶部”和“面向您”是什么意思,但我认为您的意思是这里有两个相邻的面孔,所以您知道的只有两种可能性,因为您知道相反的面孔编号也是(而这两种可能性仅因左/右或右/左这两个数字不同。

      因此,例如,使用展开的骰子,您的顶部有“1”,“2”面向您:

       X
      X1X
       2
       X
      

      您现在知道对面将是“6”(底部)和“5”(背对您):

       5
      X1X
       2
       6
      

      所以有这两种可能性:

       5   5
      314 413
       2   2
       6   6
      

      当你知道你的骰子是“左撇子”还是“右撇子”时,只剩下一种可能性了(同样,Wikipedia):

      这个约束还剩下一个 抽象设计选择:面孔 分别代表 1、2 和 3 可以放置在顺时针或 关于这个逆时针顺序 顶点。如果 1、2 和 3 面运行 逆时针围绕他们的共同点 顶点,骰子称为 “右手”;如果他们顺时针运行 它被称为“左撇子”。标准 现代西方骰子是右撇子, 而中国骰子往往 左撇子

      因此,对于上面的示例,左侧是“左手”骰子,右侧是“右手”骰子。

      【讨论】:

      • 确切地说,每个“配置”都有两种可能性。但是我怎么知道哪个在左边,哪个在右边呢?
      • 只有当你知道你的骰子是“左撇子”还是“右撇子”时才会给出。见编辑。
      猜你喜欢
      • 2020-12-28
      • 2020-08-08
      • 2022-09-24
      • 2018-04-14
      • 2018-11-01
      • 2016-12-26
      • 2018-09-08
      • 2011-10-30
      • 1970-01-01
      相关资源
      最近更新 更多