#LC2405. 数学课上的囚徒问题(2)
数学课上的囚徒问题(2)
题目描述
本题题目背景与上题相接,不再赘述。
你在认真想着老师提供的最优策略:囚徒进去房间后,先找到与自己编号一样的箱号,打开后按箱号的字条去找下一个箱号,一直到找到的箱子里的字条恰好是自己编号。
你思索了一天一夜后发现,决定囚徒能否找到你的号码的关键是循环节的长度。如果他的号码在一个长度小于 的循环上,那么他肯定会找到他的号码。但是,如果他的号码是一个长度为 或更长的循环节的一部分,那么,他搜索 个盒子,是找不到他的号码的。
当他打开贴有他号码的盒子时,实际上可以认为是他从离他号码最远的循环点开始的。他想知道指向这个盒子的纸条在哪里,他必须沿着数字循环,一直走到尽头。
这意味着,如果囚徒们遵循这个策略,并且最长的循环是 (),那么不仅仅是一两个囚徒无法找到他们的号码,而是这个循环上的所有 个人都无法找到。
所以,按照此策略,所有囚徒成功的概率,是随机排列的一百个数字不包含长度超过 的循环节的概率。
你思考出了这个问题的正确解法,这应该是一个简单的数学公式,但是你想更进一步,想准确知道囚徒们成功的概率,假设现在有 名囚徒参与这个游戏,如果他们按照此策略进行游戏,请问他们成功的概率是多少?
输入格式
一个整数 , 表示有 名囚徒,保证 为偶数。
输出格式
一行一个小数,表示囚徒们成功的概率。
如果你的答案的绝对误差不超过 ,则被视为正确,即如果你的答案为 ,标准答案为 ,当 时,你的答案将被视为正确。
样例
2
0.50000000000000000000
4
0.41666666666666674068
100
0.31182782068980474666