关注
题目:
计算机使用的随机数生成器往往是伪随机的,为了达到统计意义上的真随机数,可以需要引入系统
外的变量等作为随机种子(如UNIX系统中熵池)。假设有一天出现了上帝的投硬币函数: int G();
由于这里用到的上帝硬币可能不均匀。但可以保证是G()可以x概率返回1,1-x的概率返回0,其中x为未知常数(且x不等于0或1)。
请实现目标函数: int F(double p); 要求 1. F函数以概率p返回1,以1-p返回0。
2. 除了G之外,不使用的任何库函数。 PS:定义宏UINT_MAX=0xffffffff
基于前述类似思路,请构造函数求下述无理数近似值: 1. double pi(); //圆周率π
2. double e(); // 自然对数函数的底数e。 提示:作为模拟过程,可引入最高重复试验次数,请简述思路并完成代码。
群主解答:
利用G()生成01和10概率是相同的
1.接下来假设01的概率生成1,10的概率生成0
2.那么假设p为3/7,那通过上面的假设构造出等概率的000 001 010 011 100 101 110 111八种概率结果
3.去掉其中一个,取三个为1,得到3/7概率为1的函数。
总结:每个有理数P可以构造为分数a/b,然后构造2^m>b的m位数字,去掉多余的2^m-b个数,制定其中a个数字为1,其他的为0.
至于无理数的求解有一些数学知识,利用下面公式加上群主的第一个方法就可以啦。
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
11-26 14:42
郑州轻工业大学 Java 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 2025年终总结 #
172657次浏览 2921人参与
# 找工作,行业重要还是岗位重要? #
85300次浏览 1688人参与
# 职场上哪些行为很加分? #
306880次浏览 3452人参与
# 大家每天通勤多久? #
69771次浏览 442人参与
# 实习的内耗时刻 #
211155次浏览 1539人参与
# 你面试体验感最差/最好的公司 #
17677次浏览 291人参与
# 一人说一个提前实习的好处 #
10650次浏览 204人参与
# 今年你最想重开的一场面试是? #
4037次浏览 69人参与
# 秋招落幕,你是He or Be #
12017次浏览 237人参与
# 互联网行业现在还值得去吗 #
46904次浏览 351人参与
# 实习没事做是福还是祸? #
16678次浏览 255人参与
# 面试吐槽bot #
164989次浏览 814人参与
# 重来一次,你会对开始求职的自己说 #
6028次浏览 153人参与
# 反问环节如何提问 #
126365次浏览 2663人参与
# 礼物开箱Plog #
672次浏览 24人参与
# 工作中听到最受打击的一句话 #
6560次浏览 113人参与
# 团建是“福利”还是是 “渡劫” #
7139次浏览 150人参与
# 我的第一份实习怎么找的 #
208536次浏览 1827人参与
# 比亚迪工作体验 #
74690次浏览 281人参与
# 大家实习每天都在干啥 #
106516次浏览 581人参与
