关注
题目:
计算机使用的随机数生成器往往是伪随机的,为了达到统计意义上的真随机数,可以需要引入系统
外的变量等作为随机种子(如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.
至于无理数的求解有一些数学知识,利用下面公式加上群主的第一个方法就可以啦。
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
09-17 10:53
四川大学 C++ 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# HR问:你期望的薪资是多少?如何回答 #
67548次浏览 653人参与
# 我和mentor的爱恨情仇 #
78183次浏览 431人参与
# “vivo”个offer #
42084次浏览 289人参与
# 打工人的精神状态 #
98859次浏览 1290人参与
# 被同事甩锅了怎么办 #
24464次浏览 100人参与
# 你见过哪些工贼行为 #
29057次浏览 142人参与
# 一人一个landing小技巧 #
125907次浏览 1457人参与
# 你的秋招第一场笔试是哪家 #
259045次浏览 2026人参与
# 满帮集团求职进展汇总 #
6959次浏览 68人参与
# 考研失败就一定是坏事吗? #
149933次浏览 1081人参与
# vivo工作体验 #
29502次浏览 125人参与
# 和mentor 1on1 都聊什么? #
2563次浏览 21人参与
# 哪一瞬间觉得自己长大了 #
39797次浏览 494人参与
# 上班后和你想的一样吗? #
88339次浏览 671人参与
# 校招生月薪1W算什么水平 #
43982次浏览 238人参与
# 实习吐槽大会 #
386969次浏览 2156人参与
# 如何准备秋招 #
64932次浏览 830人参与
# 你想留在一线还是回老家? #
63006次浏览 537人参与
# 工作后明白的那些道理 #
23217次浏览 225人参与
# 数字马力求职进展汇总 #
206957次浏览 1636人参与
# 我是面试官,请用一句话让我破防 #
29359次浏览 133人参与

