SP3389 KNIGHTSR - The Knights of the Round Circle

题目描述

一场绝地武士的比赛正在进行中。其中一名武士会被随机选中站在圆圈内,作为挑战者的目标。其他武士将按随机顺序挑战这名圆圈内的武士。如果挑战者成功击败圆圈内的武士,那么被打败的武士就需要离开比赛,而挑战者会接替他成为新的圆圈内的武士,并继续接受后续挑战,直到被打败。如果圆圈内的武士在挑战中获胜,他将继续留在圈内,而挑战者需要退出比赛。最后,留在圆圈内的武士将被视为比赛的胜者。我们假设:没有两名武士的技能是完全相同的,并且较强者总能打败较弱者。 举例而言,考虑有三名武士参加比赛的情况。如果一开始站在圆圈内的是最强的武士,他将一直获胜,没有人能替代他,也就是说没有武士会被踢出圈外。如果最弱的武士站在圈内,他会在第一次对决后被淘汰。如果击败他的武士是最强的武士,那么最强武士最终将获胜,仅有一名武士被淘汰;但如果不是最强的武士,最终最强武士将会淘汰掉中间武士,也就是说会有两名武士离开圈外。如果中等实力的武士首先站在圈内,那么不论其他两名武士以何种顺序挑战他,他将是唯一一个被淘汰的。总的来说,平均来看比赛中会有 \( \frac{5}{6} \) 或 0.83 名武士被淘汰。 你需要计算,在给定的武士数量下,比赛中平均会有多少武士被淘汰。

输入格式

输入由多行组成。每行(最后一行除外)包含一个不大于 10000 的正整数,意味着比赛中的武士数量,每个整数后面有一个换行符。最后一行包含数字 0,这行表示输入结束,不需要处理。

输出格式

输出结果需要与输入顺序一致。对于每个测试案例,输出格式为:「有 \( c \) 个竞争者时,绝地武士大约会被替换 \( t \) 次。」其中 \( c \) 是竞争者的数量,应该是一个十进制整数;\( t \) 是武士被淘汰的平均次数,需保留两位小数。输出后面要跟两个换行符,即每个输出案例后要留一行空白。 **本翻译由 AI 自动生成**