生成一个带概率的随机函数问题

问题:有一个函数fun能返回0和1两个值,返回0和1的概率都是1/2,问怎么利用这个函数得到另一个函数fun2,使fun2也只能返回0和1,且返回0的概率为0.3,返回1的概率为0.7。

随机生成长度为4的01串,
0000~1111每个串出现的概率都为1/16
如果生成的串为0000 0001 0010之一,则返回0
如果生成的串为0011 0100 0101 0110 0111 1000 1001则返回1(共七个串)
否则,递归,重新来过。

其实就是生成一个09的数(大于9的全部抛弃),然后如果是02就返回0,其它的就返回1。
这题也可以有别的思路,例如生成一个32位的整数,然后于模10取余数,如果余数是0~2返回0,其它返回1。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Java源码 Integer Integer的签名如下,继承了Number类并实现Comparable接口 Com...
    wngn123阅读 1,258评论 0 2
  • PHP常用函数大全 usleep() 函数延迟代码执行若干微秒。 unpack() 函数从二进制字符串对数据进行解...
    上街买菜丶迷倒老太阅读 1,399评论 0 20
  • 1.编译程序(1)gcc xx.c,他会默认生成一个a.out的可执行文件,在a.out所在目录,执行./a.o...
    萌面大叔2阅读 1,337评论 0 1
  • 美国的爹地和中国的爸比有哪些不同?看今天这里列出的十大不同,你同意吗? 一、中国爸爸习惯说:去去,一边玩去,让我歇...
    小小象阅读 1,233评论 0 1
  • 姓名:魏浩~公司:杭州龙居门业有限公司 【日精进打卡第34天】 【知~学习】 《六项精进》0 《大学》0 [经典名...
    A0魏浩富贵龙别墅门阅读 202评论 0 0