zoukankan      html  css  js  c++  java
  • King Arthur's Birthday Celebration

     每天抛一个硬币,硬币正面朝上的几率是p,直到抛出k次正面为止结束,第一天抛硬币需花费1,第二天花费3,然后是5,7,9……以此类推,让我们求出抛硬币的天数的期望和花费的期望。

    天数期望:

    A.投出了k-1个硬币正面朝上花费了E(k-1)天,再投出一个硬币正面朝上(概率为p,花费时间+1天);B.投出了k个硬币正面朝上花费了E(k)天,投出一个硬币反面朝上(概率为1-p,花费时间+1天)。分析的时候不能漏掉B情况,得到关系式:E(k)=p*(E(k-1)+1)+(1-p)*(E(k)+1),整理可得E(k)=E(k-1)+1/p,迭代或者数学归纳可知最终的E(k)=k/p。
    P.S:换个角度理解,投硬币其实是一个完全独立的事件,正面朝上的概率是p,整体看来要出现k次正面朝上需要投硬币k/p次,每次投币花费一天,因此投出k个硬币正面朝上需要k/p天。

    花费期望:

    设投出k个硬币正面朝上花费期望为C(k),
    整理关系式:C(k)=p* C(k-1) +(1-p)*C(k) + 2*E(k)-1
    #include<bits/stdc++.h>
    using namespace std;
    
    int main()
    {
        double n,p;
        while(scanf("%lf",&n),n)
        {
             scanf("%lf",&p);
             printf("%.3lf %.3lf
    ",n/p,((n*n+n)/p-n)/p);
        }
        return 0;
    }
  • 相关阅读:
    硬件_WIFI&Blue
    C++_练习—多态_纯虚函数与抽象类
    C++_练习—多态_验证vptr分布初始化
    C++_练习—多态_证明vptr指针的存在
    单摆方程
    谐振动相关知识
    UVa 129
    LeetCode-316
    Java 运算符
    一些特殊的矩阵
  • 原文地址:https://www.cnblogs.com/bxd123/p/10484178.html
Copyright © 2011-2022 走看看