Jam*_*mes 14 java algorithm probability
我被要求(作为家庭作业的一部分)设计一个执行以下操作的Java程序:
基本上有3张牌:
现在,如果我随机拿一张卡片放在桌子上.朝上的一面是黑色的.对方也是黑色的概率是多少?
使用Java实现程序并尝试发现概率,程序应该多次模拟卡片技巧并且应该输出卡片另一侧是黑色的概率(它通过计算另一侧的数量来做到这一点)也是黑色).
但是我被告知我的代码是错误的(算法明智的)......显然答案不应该是0.50.我试图理解算法时犯了错误吗?
有人能指出我正确的方向吗?(我不是要求你为我提供一个完全正常的实现,只是关于算法应该如何工作).
这可能对算法没有帮助,但这就是我自己得出答案的方法:
当您绘制随机卡并将其放在桌面上时,可能会发生六种可能发生的事情:
在这六个事件中,6个中有3个导致桌面上出现黑边卡.
在这3个事件中,恰好其中两个事件是卡黑的另一面.
因此,问题的答案是"对方也是黑色的概率是多少?" 是2/3.
您的算法失败是因为您只计算black_black出现为单个事件的卡,而实际上是两个.
您的算法缺少关键步骤:将卡放在桌面上.如果您绘制黑红卡,则无法保证在您放下黑色时显示黑色边.增加一个额外的步骤,以模拟随机选择每个卡片的侧面中的一个,然后确定如何许多情况下显示黑色面,然后多少的那些情况下,具有黑黑卡展示.