概述:本文翻译了NB程序员们常去的国际知名的算法竞赛网站codeforces的第259期的一道入门级算法题,程序员朋友,这道题你会做么?
代码测试需求:
《彩虹小马》里的女孩Twilight Sparkle与她的朋友Rainbow Dash,Apple Jack 以及 Flutter Shy在一起玩骰子游戏,但是她一直都在输。回到城堡以后,Twilight Sparkle对游戏里使用的骰子很感兴趣。

骰子一共有m个面,第一面有一个点,第二面有两个点,以此类推,第m个面有m个点。Twilight Sparkle很清楚的知道,每当她丢一次骰子,都有可能随机出现其中的一个面。并且她还知道,每次扔出的概率都是独立的。现在请你帮助她计算下,当她扔出n次骰子后,所得的最大的点的预期值是多少?
输入值:包含2个整数,m和n (1 ≤ m, n ≤ 105)。
输出值:输出的结果对应于最大的点的预期值,结果误差在10-4范围内都视为正确答案。
示例,比如在假定m=2,n=2的情况下(即骰子只有两面,扔2次的情况):
- 你第一次扔了1个1,第二次扔了1个2,最大结果为2。
- 你第一次扔了1个1,第二次扔了1个1,最大结果为1。
- 你第一次扔了1个2,第二次扔了1个1,最大结果为2。
- 你第一次扔了1个2,第二次扔了1个2,最大结果为2。
由于出现上述四种情况的概率都为0.25,那么预期值为
(2 + 1 + 2 + 2)* 0.25 = 7/4
一些输出结果:
6 1
3.500000000000
6 3
4.958333333333
2 2
1.750000000000
本文翻译自Little Pony and Expected Maximum