面試題 拋骰子8次 和為多少的概率最大

2021-09-01 17:50:04 字數 1454 閱讀 5187

一道筆試題,拋骰子8次,和為多少最大,對於筆試題可以這樣考慮,兩個骰子和為 7的概率最大,8次的話最大為28.

下面程式設計給出說明,result[i][j] 代表拋i次時,和為j 的次數。對於第i+1 次可使用前面的結果來計算,如計算 result[i+1][48] 可以 把result[i][48-1], result[i][48-2],result[i][48-3],result[i][48-4],result[i][48-5],result[i][48-6] 的值加起來,這樣的話就可以自底向上的推出任意次拋骰子的和的結果。

演算法如下:

public static void rolldice(int cnt)}}	

} for(int i=cnt;i<=cnt*6;i++)

}public static void main(string args)

//result

sum 8 cnt: 1

sum 9 cnt: 8

sum 10 cnt: 36

sum 11 cnt: 120

sum 12 cnt: 330

sum 13 cnt: 792

sum 14 cnt: 1708

sum 15 cnt: 3368

sum 16 cnt: 6147

sum 17 cnt: 10480

sum 18 cnt: 16808

sum 19 cnt: 25488

sum 20 cnt: 36688

sum 21 cnt: 50288

sum 22 cnt: 65808

sum 23 cnt: 82384

sum 24 cnt: 98813

sum 25 cnt: 113688

sum 26 cnt: 125588

sum 27 cnt: 133288

sum 28 cnt: 135954

sum 29 cnt: 133288

sum 30 cnt: 125588

sum 31 cnt: 113688

sum 32 cnt: 98813

sum 33 cnt: 82384

sum 34 cnt: 65808

sum 35 cnt: 50288

sum 36 cnt: 36688

sum 37 cnt: 25488

sum 38 cnt: 16808

sum 39 cnt: 10480

sum 40 cnt: 6147

sum 41 cnt: 3368

sum 42 cnt: 1708

sum 43 cnt: 792

sum 44 cnt: 330

sum 45 cnt: 120

sum 46 cnt: 36

sum 47 cnt: 8

sum 48 cnt: 1

面試題 和為s的連續正數序列

輸入乙個正數s,列印出所有和為s的連續正數序列 至少含有兩個數 例如,輸入15,由於1 2 3 4 5 4 5 6 7 8 15,所以列印出3個連續序列1 5 4 6和7 8。思路 依舊雙指標套路 void findcontinuoussequence int sum if sum 3 return...

面試題57 和為s的是數字

和為s的兩個數字。輸入乙個遞增排序的陣列和乙個數字s,在陣列中查詢兩個數,使得它們的和正好是s。如果有多對數字的和為s,則輸出任意一對即可。例如,輸入陣列和數字15。由於4 11 15,因此輸出4和11。陣列是有序的,這個條件要合理利用,用兩個索引分別指向陣列的頭和尾,計算兩個索引對應值的和,如果小...

網易面試題 和為n的連續正數序列

用兩個數small和big分別表示序列的最小值和最大值。首先把small初始化為1,big初始化為2,如果從small到big的序列的和大於n的話,向右移動small,相當於從序列中去掉較小的數字。如果從small到big的序列和小於n的話,向右移動big,相當於向序列中新增big的下乙個數字,一直...