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