演算法筆記 224 奪冠概率模擬 Java

2021-09-08 12:50:24 字數 968 閱讀 6895

目錄1 問題描述2 解決方案

足球比賽具有一定程度的偶然性,弱隊也有戰勝強隊的可能。

假設有甲、乙、丙、丁四個球隊。根據他們過去比賽的成績,得出每個隊與另乙個隊對陣時取勝的概率表:

甲 乙 丙 丁

甲 - 0.1 0.3 0.5

乙 0.9 - 0.7 0.4

丙 0.7 0.3 - 0.2

丁 0.5 0.6 0.8 -

資料含義:甲對乙的取勝概率為0.1,丙對乙的勝率為0.3,...

現在要舉行一次錦標賽。雙方抽籤,分兩個組比,獲勝的兩個隊再爭奪冠軍。(參見【1.jpg】)

請你進行10萬次模擬,計算出甲隊奪冠的概率。

注意:

請仔細除錯!您的程式只有能執行出正確結果的時候才有機會得分!

圖1

1

public

class

main ,

5 ,

6 ,

7 };

8double result = new

double[100000];

9double sum = 0;

10for(int i = 0;i < 100000;i++)

23 sum = sum / 100000;

24 system.out.printf("%.3f", sum);25}

26 }

執行結果:

0.076

藍橋杯 奪冠概率模擬(取隨機數)

奪冠概率模擬 足球比賽具有一定程度的偶然性,弱隊也有戰勝強隊的可能。假設有甲 乙 丙 丁四個球隊。根據他們過去比賽的成績,得出每個隊與另乙個隊對陣時取勝的概率表 甲 乙 丙 丁 甲 0.1 0.3 0.5 乙 0.9 0.7 0.4 丙 0.7 0.3 0.2 丁 0.5 0.6 0.8 資料含義 ...

概率取值模擬演算法

有這樣乙個需求,從乙個給定的集合中隨機取乙個值。集合如下 int seeds 要求 取得的值為1 2 3 4 5的概率分別為 5 5 5 35 50 其實可以建立乙個集合來模擬這個取值,如下 list seedlist new list 18 宣告的集合中,1 2 3分別佔集合總量的5 4的數量佔集...

演算法筆記 模擬退火

模擬退火是一種隨機化演算法,常用於求函式極值。當乙個問題的方案數量極大 甚至是無窮的 我們一般有兩個選擇。爬山演算法每次在當前找到的最優方案 x x 附近尋找乙個新方案 一般隨機差值 如果這個新的解 x role presentation x x 更優,那麼轉移到 x x 否則不變。這種演算法對於單...