LightOJ1104---Birthday Paradox(生日悖论(概率))

【题目来源】https://cn.vjudge.net/problem/LightOJ-1104
【题意】
生日悖论问题,描述了逻辑思维的悖论,23个人中任意两个人同一天生日的概率是0.507,一般的想法感觉会很荒谬。
而这些是由数学方法计算出来的。
而题意问的问题是,假如不在地球上,也就是一年的时间大小会改变,问,不低于0.5的概率下,最少多少个人同一天生日。
【思路】
根据百度百科计算公式:
第一个人的生日是 365选365
第二个人的生日是 365选364
第三个人的生日是 365选363
:
:
:
第n个人的生日是 365选365-(n-1)
所以所有人生日都不相同的概率是:

那么,n个人中有至少两个人生日相同的概率就是:

所以当n=23的时候,概率为0.507。
而我的方法是反着来的,也就是没有用1减去那个值。
【代码】

#include<iostream>
using namespace std;
int main()
{
    int T,cases=1;
    cin>>T;
    while(T--)
    {
        int n;
        cin>>n;
        if(n==1)
        {
            cout<<"Case "<<cases++<<": "<<n<<endl;
            continue;
        }
        double ans=1;
        for(int i=n;i>=1;i--)
        {
            ans=ans*(i*1.0)/(n*1.0);
//            cout<<ans<<endl;
            if(ans<=0.5)
            {
                cout<<"Case "<<cases++<<": "<<n-i<<endl;
                break;
            }
        }
    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值