我被要求(如作業的一部分)來設計一個Java程序,執行以下操作:簡單的算法的執行情況(計算概率)
基本上有3張卡:
- 黑色兩側
- 紅色兩側
- 黑色一側,紅色的另一邊
現在,如果我隨機拿一張牌並放在桌子上。面朝上的一側是黑色的。對方也是黑人的概率是多少?
使用Java實現一個程序,並嘗試發現概率,程序應模擬卡技巧大量次,並應輸出卡的另一面是黑色的概率(它通過計算多少次對方也是黑色)。
但是我聽說我的代碼是錯誤的(算法明智)......顯然答案不應該是0.50。我試圖理解算法是否犯了錯誤?
任何人都可以指出我正確的方向嗎? (我並不是要求你提供一個完整的工作實現,而僅僅是算法應該如何工作)。
這篇文章是非常有幫助的:http://www.codinghorror.com/blog/archives/001204.html?r=1183
只是想指出,我真的很欣賞這是一項家庭作業的誠實,而且你表明你真的嘗試過。 +1表示 – aperkins 2009-12-15 20:00:10
聽起來像是http://en.wikipedia.org/wiki/Monty_Hall_problem的變體 – Dolphin 2009-12-15 20:59:38
並且在該鏈接之後,它看起來也是http://en.wikipedia.org/wiki/Bertrand% 27s_box_paradox – Dolphin 2009-12-15 21:00:48