1. 给你5个球,每个球被抽到的可能性为30、50、20、40、10,设计一个随机算法,该算法的输出结果为本次执行的结果。
输出A,B,C,D,E即可。
让范围大的球放在最上面判断,这样可能一次或两次就判断出来的概率就更高,从理论和客观角度都应该可以减少判断的次数。利用了霍 夫曼编码的原理。
public static String ranomBall() {
int ran = (int)(Matn.random()*150);
if (ran < 50) {
return "B";
} else if (ran < 90) {
return "D";
} else if (ran < 120) {
return "A";
} else if (ran < 140) {
return "C";
} else {
return "E";
}
}
System.out.prin