题目描述
HKE最近编写了一个函数 rand \text{rand} rand,其中 l,r 为正整数且 l≤r。这个函数会等概率返回区间 [l,r] 中任意一个正整数。然后,他又编写了一个函数:
int work(int x){
if(x==1) return 0;
else return work(rand(1,x))+1;
}
现在给定一个正整数 n,请问 work(n) 的返回值的期望值是多少?
期望的定义:假设 work(n) 返回的所有可能的值为 x 1 , x 2 , … , x k x_1,x_2,\dots ,x_k x1,x2,…,xk,它们出现的概率分别为 p 1 , p 2 , … , p k p_1,p_2,\dots,p_k p1,p2,…,pk,则期望为:
E = ∑ i = 1 n p i x i E=\sum\limits_{i=1}^np_ix_i E=i=1
洛谷-5147 随机数生成器
最新推荐文章于 2022-09-26 14:03:43 发布
该博客主要讨论了HKE编写的rand函数以及在此基础上的work函数,工作函数的期望值问题。通过给出的输入输出样例,博主解释了如何推导出期望值公式,并展示了解决此问题的思路,特别是对于n值较大时的近似计算方法,涉及到数学中的等比数列和自然对数的应用。
摘要由CSDN通过智能技术生成