[英]to map a range of numbers in an array to uniform random 1 to 100
我有 5 個骰子,每個骰子都擲一次:說結果是骰子 [] = { 1, 1, 1, 1, 1 }
這個骰子[]數組是一個函數的輸入說
int random (dice) {
//do some thing with the dice values { 1, 1, 1, 1, 1 } ( as input from user )
//return a uniform random number between 1 to 100
}
規則:唯一的隨機源是骰子數組中的值。 我如何將每個值轉換為 1 到 100 之間的數字,以便生成的值幾乎是統一的
請幫忙
您可以將骰子上的數字分別乘以 1、6、6^2、6^3、6^4。 然后將它們相加並取結果的最后兩位數(即,在最后做一個 % 100)。
編輯(感謝 pjs)
最后一步,加 1,這樣你就能得到介於 1 和 100 之間的答案,而不是介於 0 和 99 之間的答案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.