其他问题:从5随机到7随机及其扩展
【知识点】
Math.random() 可以产生一个大于等于 0,小于 1 浮点数(double 类型)。
【题目 1】
给定一个等概率随机产生 1~5 的随机函数 rand1To5 如下:
1 public int rand1To5(){ 2 return (int) (Math.random()*5) + 1; 3 }
以此类推,给定一个等概率产生 1~M 的随机函数 rand1ToM 如下:
1 public int rand1ToM(int M){ 2 return (int) (Math.random()*M) + 1; 3 }
【题目 2】
给定一个以 p 概率产生 0,以 1-p 概率产生 1 的随机函数 rand01p 如下:
1 public int rand01p(double p){ 2 return Math.random() < p ? 0 : 1; 3 }