笔试题——硬币与金币(概率)
题目
( 2020/2/28 晚刚做的笔试。当时就差一点了,有点遗憾,还是做出来吧。)
1000枚硬币中有10枚金币,现在随机取n枚硬币,取到金币的概率是多少?(保留六位小数)
思路
首先:1000枚硬币分为10枚金币与990非金币。若n大于990,则必定取到金币。
取到金币的概率 = 1 - 没有取到金币的概率。
所以,我们只需要计算没有取到金币的概率即可。
现在我们需要用到排列组合了。
没有取到金币的概率 = 所取n枚硬币全为非金币的概率 = 在990枚非金币中随机取n枚的组合数量 / 在1000枚硬币中随机取n枚的组合数量。
在m个物体中随机无序的取出n个物体,有 C(n, m) 种取法。
(PS:由于markdown没法输入数学公式,就把 C(n, m) 想象成 n在右上角,m在右下角吧~)
所以,没有取到金币的概率 = C(n, 990) / C(n, 1000) =
(990 * 989 * 988 * … ) / ( 1000 * 999 * 998 * …)
其中分子分母各有n项。
可以看出,从n大于10开始,分子分母就有重复的数可以约分一些了。否则,计算出来的数会过大。
所以还要区分n小于等于10和n大于10的情况。
function func(n) {if (n > 990) {return '1.000000';} else {let a1 = 1, a2 = 1;if (n <= 10) {for (let i = 0; i < n; i++) {a1 *= (990 - i);a2 *= (1000 - i);}} else {for (let i = 0; i < 10; i++) {a1 *= (991 - n + i);a2 *= (1000 - i);}}let noGold = a1 / a2;let p = 1 - noGold;return p.toFixed(6);}}
结果:
笔试题——硬币与金币(概率)相关推荐
- 笔试题:一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。该题有三种解法:递归的方法求解斐波那契数列、用概率与统计的数学方法解决,3.动态规划
笔试题 一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶.求该青蛙跳上一个 n 级的台阶总共有多少种跳法.该题有三种解法:1.递归的方法求解斐波那契数列.2.用概率与统计的数学方法解决,3.动态规划 ...
- 凑硬币(58同城2017校招笔试题)
凑硬币(58同城2017校招笔试题) 暴力破解,循环递归实现,代码如下: /** * 暴力破解,循环递归,找出了所有可能的组合并进行了存储,* 在循环递归的时候,因为选取的分类相互是有重叠的,生成的递 ...
- 有1000枚硬币,其中有10枚是金币,从中取出n枚硬币,求这n枚硬币中有金币的概率。答案保留6位小数
1.有1000枚硬币,其中有10枚是金币,从中取出n枚硬币,求这n枚硬币中有金币的概率.答案保留6位小数 我们可以逆向思维,可能性只有两种,要么有金的,要么没金的,那我们可以计算没有金的的概率,用(1 ...
- C语言单链表实现FCFS算法,2014腾讯实习笔试题
2014腾讯实习笔试题 1. 关于二叉树,下面说法正确的是() A. 对于N个节点的二叉树,其高度为nlog2n; B. 一个具有1025个节点的二叉树,其高度范围在11~1025之间 C. 二叉树的 ...
- 美团网2014校招笔试题及解答(长沙站+哈尔滨站)
作者:寒小阳 时间:2013年9月. 出处:http://blog.csdn.net/han_xiaoyang/article/details/11924701. 声明:版权所有,转载请注明出处,谢谢 ...
- 搜狗2016 C++笔试题
搜狗2016C++研发工程师笔试题 2015/12/6 00:47(网上收集整理的,参考答案在后面,若有错误请大神指出) 1.关于重载和多态正确的是? A.如果父类和子类都有相同的方法,参数个数不同, ...
- 2014-百度 阿里 华为笔试题
8月15日,百度2道面试题: 1.来自<编程之美>的概率题:一个桶里面有白球.黑球各100个,现在按下述规则取球:的 i .每次从通里面拿出来两个球: ii.如果取出的是两 ...
- 最新百度 阿里 华为 腾讯 谷歌面试笔试题及解析
最新百度 阿里 华为 腾讯 谷歌面试笔试题及解析 8月15日,百度2道面试题: 1.来自<编程之美>的概率题:一个桶里面有白球.黑球各100个,现在按下述规则取球:的 i .每次从通里面拿 ...
- 百度 阿里 华为 腾讯 谷歌面试笔试题及解析
8月15日,百度2道面试题: 1.来自<编程之美>的概率题:一个桶里面有白球.黑球各100个,现在按下述规则取球:的 i .每次从通里面拿出来两个球: ii.如果取出的是两 ...
最新文章
- 【实用】Angular中如何实现类似Vuex的全局变量状态变化功能?
- android 弹出fragment,Android中ViewPager获取当前显示的Fragment
- BH60绝对位置旋转编码器编程资料
- 汇编语言学习工具Dosbox的安装与配置(一)
- Deeplearnng.AI第四部分第一周、卷积神经网络
- phone6s home键按不动了怎么办 苹果6s home键按不动解决方法
- mysql 数据修改时间_怎样修改mysql数据中的具体时间
- 引入的html设置utf-8,如何为default.html将字符编码设置为UTF-8?
- 谷歌:开源捐赠需分成,否则下架!
- Java基础语法练习题
- ajax请求接口连不上会报错吗_本地ajax请求服务器
- STM32与FPGA Cyclone IV芯片fsmc通信
- python怎么回到开头_python如何回到cod的开始
- 关于Quartus+Modelsim 门级仿真 Warning (vopt-2216) Cannot find instance 'NA' specified in sdf.的解决办法...
- akka kafka java_Jay Kreps谈基于Apache Kafka和Kafka Streams的分布式流处理
- 关于A6s上的无法动态修改maxLength的问题
- 软件测试颗粒度,测试用例之度——系列之颗粒度(上)
- yarn create umi 报错问题
- CSDN的markdown编辑器使用(含表格背景色、文本颜色字体字号、锚点跳转、表情符号等)
- Qt5学习 模仿qq音乐播放器样式(2)——点击动画效果+歌词颜色变换展示