站外题求助(玄关)
  • 板块学术版
  • 楼主BrandonLee
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/8/26 20:02
  • 上次更新2024/8/26 21:47:09
查看原帖
站外题求助(玄关)
1011969
BrandonLee楼主2024/8/26 20:02

题目描述

小明很喜欢扑克牌,每次打牌都很积极,甚至很乐意洗牌。小明的洗牌很有特点,每次洗牌时小明手里拿着N张牌,编号是1~N。他会编号从小到大依次把牌放到桌上,第1张牌放桌上耗费的体力为1。后续放编号为i+1的牌时,可以放在最左边、最右边或者两张牌的中间,一共i+1个可选位置。小明会等概率地选择这i+1个位置。当牌放在最左边或最右边时,耗费的体力为1;当放在两张牌中间时,耗费的体力是两张牌编号的乘积。

你需要编一个程序,计算发完N张牌耗费的体力的期望。

输入

一个整数N。

输出

一个实数,表示发完N张牌耗费的体力的期望。与答案的相对误差或绝对误差不超过0.000001就算正确。

样例输入输出

样例输入 #1

2

样例输出 #1

2.0000000000

样例输入 #2

3

样例输出 #2

3.3333333333

样例输入 #3

17

样例输出 #3

365.8791050453

数据范围

对于 30% 的数据: N <= 20

对于 100% 的数据:1 <= N <= 100

我的代码

2024/8/26 20:02
加载中...