其他问题:从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     }

 

posted @ 2019-03-14 10:45  米突小搞羊  阅读(255)  评论(0编辑  收藏  举报