英文原文:Little Pony and Expected Maximum
本文翻译了 NB 程序员们常去的国际知名的算法竞赛网站 codeforces 的第 259 期的一道入门级算法题,程序员朋友,这道题你会做么?
代码测试需求:
程序响应时间限制:1 秒以内
程序内存限制:256M 以内
输入方法:标准输入
输出方法:标准输出
《彩虹小马》里的女孩 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 次的情况):
由于出现上述四种情况的概率都为 0.25,那么预期值为
(2 + 1 + 2 + 2)* 0.25 = 7/4
一些输出结果:
Input
6 1
Output
3. 500000000000
Input
6 3
Output
4. 958333333333
Input
2 2
Output
1. 750000000000