有這樣乙個需求,從乙個給定的集合中隨機取乙個值。集合如下:
int seeds =;
要求:取得的值為1、2、3、4、5的概率分別為 5%、5%、5%、35%、50%
其實可以建立乙個集合來模擬這個取值,如下:
list seedlist = new list(18)
;
宣告的集合中,1、2、3分別佔集合總量的5%,4的數量佔集合總數的35%,5佔集合總數的50%。
再生成乙個隨機數,使得生成的隨機數作為集合的下標,取出集合中的值。
int temp = random.range(0, 18);
將temp的值作為集合seedlist的索引,取出值,即可獲得隨機值。完整**如下所示。
演算法筆記 224 奪冠概率模擬 Java
目錄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...
陣列演算法取值
問 對給定的兩個正整數n和m,編號為1 n的n個人圍坐一圈,從1號起連續報數,報道m者出局。剩下的人從當前位置開始從1起報數,報道m者出局.迴圈往復,直至剩下最後乙個人。問出局者順序如何?剩下者的原始編號是幾?剩下者的原始編號是幾?例如,n 6,m 5時,該過程出局者順序為5,4,6,2,3,剩下者...
隨機演算法 概率演算法
div出現在頁面的隨機位置var sheight jquery document.body outerheight true 100 var swidth jquery document.body outerwidth true 100 var div top getrandomnum 0,shei...