Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- func throw_dice (arr_weights) {
- W <- sum(arr_weights)
- T <- RANDOM(0, W) // sample uniformly from [0, W)
- cumsum <- 0
- FOR i in 0..n-1, DO {
- IF T-cumsum <= arr_weigths[i], THEN
- RETURN arr_weights[i]
- cumsum += arr_weights[i]
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement