两人生日相同的概率

在有23人的办公室中,通过排除2月29日的情况,计算出至少两个人生日相同的概率。分析了从2人到n人情况下,生日不相同概率的递推公式,最终得出概率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目描述:

假设你工作在一个有23人的办公室中,那么办公室中两人生日相同的机率有多少?


完整代码:

#include <iostream>
 
int main()
{
    int n; float p = 1;
    std::cin >> n;    //输入总人数;
 
    for (int i(0); i <= n; ++i)		//这部分可以也可以从1开始,只需将(365 - i) / 365变为(366 - i) / 365即可;
        p = p * (365 - i) / 365; 
    std::cout << (1 - p) * 100 << "%";
    
    return 0;
}


分析:

1、为了便于研究,我们剔除掉2月29号的情况(即一年有365天);

2、相同的概率 + 不相同的概率 = 1;

3、我和其他人生日不相同的概率有多少?递推到n个人;


2个人:

我和其他人生日不相同的概率

第一个人的生日是365天中的任意一天 P1 = (365 - 0)/ 365;

我和他不同的概率即有P2  =(365 - 1)/ 365 ;

所以两个人中生日不同的概率就为P1 * P2 = (365 - 0) / 365  * (365 - 1) / 365 = 0.9972;

3个人:

第一个人还是365 / 365,我依旧是(365 - 1)/ 365 ;

然后到了第三个人,他要和我们不同只能在剩下的363天中任选一天,所以他的概率就是(365 - 2)/ 365;

所以三个人中生日不同的概率就为P1 * P2 * P3 = (365 - 0) / 365  * (365 - 1) / 365  * (365 - 2)/ 365= 0.9917;

//

......

//

n个人:

递推到最后的话,我们就可以发现n个人中两人生日不相同的概率可以如下表示:

P1 * P2 * P3 * ...... * Pn = (365 - 0)  /  365  *  (365 - 1)   /  365  *  (365 - 2)  /  365  *  ......  *  (365 - n + 1)  /  365 ;



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值