一道有关概率的问题

前几天qq群里面突然有一个人问了一个问题

36个数字中任选15个数字,包含某6个数字的概率是多少?

这是一个抽奖活动,看着中奖应该没那么难,他觉得应该在3-4%之间

实际情况呢?
先写代码模拟以下这个题目的实现

let result = [];
let rand = () => Math.floor(Math.random() * 36);
for(let i = 0; i < 1000000; i++){
  // 先生成15个
  let arr = [];
  for(let i = 0; i < 15; i++){
    // 如果生成的数字是已经生成过了的就继续生成
    while(true){
      let num = rand();
      if(!arr.includes(num)){
        arr.push(num);
        break;
      }
    }    
  }
  let flag = true;
  let keys = [];
  for(let j = 0; j < 5; j++){
    while(true){
      let num = rand();
      // 如果已经生成过了就继续执行生成的过程
      if(keys.includes(num)){
        continue;
      }
      keys.push(num);
      // 如果不包含的情况下,置为false
      if(!arr.includes(num)){
        flag = false;
      }
      break;
    }
    // 如果已经是false就break掉
    if(!flag){
      break;
    }
  }
  flag && result.push(flag);
}

console.log(result.length);

可以实际测试一下这个概率是在多少

而这个的真实概率是多少呢?
正确答案是:

万分之25.7

如何计算呢?
首先肯定是C(36,15)种情况,包含某6位的情况就是从剩余的30个数字里面在选9个
所以概率就是C(30, 9)/C(36,15);

由此可见,抽奖是多坑人!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值