Math 骰子上左边/右边的数字?

Math 骰子上左边/右边的数字?,math,dice,Math,Dice,我想知道,如果你知道哪个数字在上面,哪个面向你,是否有一个公式/技巧来计算标准6面模具上右边或左边的数字 需要它来解决问题,但我不想在if语句中列出所有24种可能性…:)一个骰子的对边加起来总是7(至少,这是惯例) 通过消除过程,您可以知道“不可见”对是什么: 1/6 2/5 3/4 所以,对于上面的每一对,如果你能从中看到一个数字,就把它去掉。剩下的一对就是你要找的那一对 由于无法确定模具的“利手性”,因此无法区分哪一对模具位于右侧,哪一对模具位于左侧。没有24种可能性 发件人: 相反方向

我想知道,如果你知道哪个数字在上面,哪个面向你,是否有一个公式/技巧来计算标准6面模具上右边或左边的数字


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

一个骰子的对边加起来总是7(至少,这是惯例)

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

  • 1/6
  • 2/5
  • 3/4
所以,对于上面的每一对,如果你能从中看到一个数字,就把它去掉。剩下的一对就是你要找的那一对


由于无法确定模具的“利手性”,因此无法区分哪一对模具位于右侧,哪一对模具位于左侧。

没有24种可能性

发件人:

相反方向上的数字之和 脸是七

正如你已经知道的两个数字,还有4种可能性

我不知道你说的“在上面”和“面对你”是什么意思,但我想你在这里指的是两个相邻的面,因此,正如你所知,也只有两种可能是相反的面数(这两种可能性的不同之处在于两个数是左/右或右/左)

例如,使用一个展开的骰子,你在上面有“1”,面对你有“2”:

 X
X1X
 2
 X
您现在知道,相对的面将是“6”(底部)和“5”(背向您):

这两种可能性都有:

 5   5
314 413
 2   2
 6   6
当你知道你的死亡是“左撇子”还是“右撇子”时,只有一种可能性了(同样,是这样的):

这一约束还剩下一个 抽象设计选择:面孔 分别代表1、2和3 可按顺时针或逆时针方向放置 关于这个的逆时针顺序 顶点。如果1、2和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
      }
   }
}

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

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

对于每一对(顶部/朝向),当然只有两种可能性,因为顶部值和朝向值都会消除自身,并且它与左或右相反:例如,如果1在顶部,而2面向您,则左和右必须是3或4

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

。。反之亦然


由于我在美国,我想这条规则适用于“右手”模具,反过来适用于左手模具。

确切地说,每种“配置”都有两种可能。但我怎么知道哪个在左边,哪个在右边?只有当你知道你的骰子是“左撇子”还是“右撇子”时,才会给出这个答案。请参见编辑。您仍然需要方向。@shrevatsar-对于给定的信息,这是不可能的,因为模具两侧之间没有其他关系。好吧,两侧的数字加起来等于7也是一种惯例;你肯定可以找到(或制作)违反此条件的骰子。所以你假设了一些关于骰子的东西——也可以假设“标准现代西方骰子”中的方向。如果没有任何这样的假设,这不是一个答案,因为你只剩下一对,而不是一个数字。@shrevatsar-这确实是一个惯例。一个很普通的。然而,我不知道有任何其他关于骰子的惯例可以帮助解决方向问题。请参阅@schnaader的答案(而不是答案)。因为矩阵是对角对称的,所以只有12个。
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
      }
   }
}