每天抛一个硬币,硬币正面朝上的几率是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; }