nat*_*han 4 java random algorithm percentage
我有N个值(整数).我想知道在百分比中随机选择其中一个值的最优雅方式是什么.例如,对于3值示例:
我需要这个用于我用Java开发的程序,但是伪代码算法或任何其他语言的代码都可以.
Pet*_*rey 11
在不计算要使用的值的情况下,这样做的一种方法是
double d = Math.random() * 100;
if ((d -= 30) < 0) return 1;
if ((d -= 12) < 0) return 2;
if ((d -= 45) < 0) return 3;
return 4;
Run Code Online (Sandbox Code Playgroud)
建议的算法:
n)之间0和1(假设您的随机生成器分布均匀)n < 0.30返回值1n < 0.42返回值2n < 0.87返回值3