讨论征婚帖,不如来讨论下这题的解法

看到一个大佬的面经,有一题如下:

有一个函数,输出1的概率是百分之三十,输出0的概率是百分之七十,使用这个函数等概率输出100以内的数字

求个解题思路~
全部评论
也是昨天看到搜了下的,还见到一个挺有意思的拓展:能不能用这个函数产生一个概率为1/π的函数
点赞 回复 分享
发布于 2018-08-30 18:20
或者能不能做到等概率的0~9,记为f,那么10f+f就可以解了
点赞 回复 分享
发布于 2018-08-30 18:10
调用楼上思路做出的等概率输出01的函数7次,把二进制转化成十进制,超过100的舍弃重来。
点赞 回复 分享
发布于 2018-08-30 18:09
用3楼大佬的思路,1 0  与  0  1 是等概率的,每次生成一个数小于100需要7位,如果遇到 1 1 或者0 0就继续生成,生成7个这样的位,超出部分就舍弃。我是算法渣。。。。
点赞 回复 分享
发布于 2018-08-30 17:56
提一个我的思路,算10次函数求和,高于期望为1,低于期望为0,这样得到了个新函数为50%概率为0,50%概率为1(这里等于期望没有考虑,不是很严谨),然后问题就转为等概率的0,1得到等概率小于100的数,然后就不会了🙉
点赞 回复 分享
发布于 2018-08-30 17:48
这题有意思 1 0 概率是 0.3*0.7=0.21 0 1 概率是 0.7*0.3=0.21 假设函数P(x)为调用两次题目中的函数,若结果为1 和0 则输出1,若结果为0和1,则输出0,若结果为1,1或者0,0 则重新输入。此时是等概率的。 执行100次P(x),根据上述规则计算。
点赞 回复 分享
发布于 2018-08-30 17:43
我也看到这道题了,坐等……
点赞 回复 分享
发布于 2018-08-30 17:33

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务