Most likely sum of two dices
我有两个骰子,用户可以选择其中的面孔数量。我想编写代码以输出最可能的结果。例如,如果用户选择2个6面骰子,则结果应为7。但是,如果用户选择1个3面骰子和1个4面骰子,则输出应为4和5。不同循环中每个不同和的可能性如何,但是我想知道是否还有更简单的方法,因为我只在乎MOST可能的和,而不是所有的和。
任何建议或帮助将不胜感激!
编辑。由于一直抱怨打印不必要的代码,因此无法打印出我所做的所有尝试,因此,我将把您链接到我尝试过的其他示例,但是将其删除,因为它们似乎不必要地困扰着我的问题。 https://coderanch.com/t/517923/java/Dice-probability-program-nested-loops我意识到那个例子不适合,因为这需要我不确定的滚动次数。然后,我尝试通过使用while循环尝试所有可能的组合,但是我陷入了中间,因此选择不使用它。
现在我只有:
1 2 3 4 5 6 7 8 9 10 11 12 13
| Scanner scanner = new Scanner (System. in);
while (scanner. hasNextInt()) {
int x,y ;
x =scanner. nextInt();
y =scanner. nextInt();
if (x ==y ) {
int z = x +1;
System. out. println(z )
} else {
int z = ((x +y )/2)+1;
System. out. println(z );
}
} |
问题:如果存在两个不同数量的人脸,则变量z仅打印出总和相等的可能性之一。
- 单词dice已经是die的复数。只是想纠正您的语法。
-
您已经尝试了什么代码?
-
严格来说,仅返回5是解决问题的最简单正确的答案。您要计算不同边数和/或骰子的结果吗?
-
我希望用户能够选择两个骰子的边数,所以我想计算最可能的结果,因为对于每个用户输入,结果都会不同!
-
@ a.e.m.n numSides + 1,因此易于计算。
-
或(numSides1 numSides2)/ 2 1,如果数字不必相等。 (无论向上或向下取整都无所谓,两者都有可能)
-
如果x和y是您的骰子,则不能计算x y,因为只能累加数字。答案是(5 7)/ 2 1 = 7。此外,6和8与7具有相同的可能性,但这不属于您的问题。
-
@floxbr,但是如果用户选择一个3面和一个4面,并且我编写了(variable1 variable2)/ 2 1,则输出为4,但应为4和5,因为这两个结果的可能性相同?
-
@ a.e.m.n如果您希望输出为" 4 and 5 ",则应该用不同的措词来表达您的问题。就目前而言,4或5都是正确的答案。
-
@floxbr您说对了,我现在已经编辑了我的问题。因此,很简单,我希望输出是最可能的总和,无论该输出是否是一个或多个相同可能性的总和
-
@ a.e.m.n,但您仍然没有向我们介绍您的尝试。我们在这里是为了帮助您,但不会做您的作业。
-
@JBNizet不告诉您要做家庭作业,但还没有(学校结束)。但是在我编写代码的早期,关于我实际上编写代码的投诉太多了,因为这太难读了。但是,现在我已经写了一些尝试,而不是全部。因为那太难读了。
令a??和b为边数,并假设a小于(或等于)b。然后,a 1和b 1之间的所有和都具有相同的(a /(a b)的可能性),并且该可能性也是最大的。您希望如何在代码中返回此值取决于您。
- 非常感谢您的所有帮助,如果您是新手,很难找到一个有趣的问题,看起来很容易..但是,如果您不是新手,则不是。再次感谢!
-
a = 3,b = 6所有和btw 4和7?你的说法可能是正确的。因为我听不懂,所以我一直在问这个问题。
-
是的,4 = 3 1 = 2 2 = 1 3,5 = 4 1 = 3 2 = 2 3直到7 = 6 1 = 5 2 = 4 3都有3种可能性,因此发生的可能性为3/21 = 1 / 7
-
@snr校正:概率3/18 = 1/6。