T793082 【C1163】 - 罗马轮盘
题目描述
你的程序应能够处理约瑟夫问题的以下变体。n > 0 个人最初围成一圈,面向内侧,并从 1 到 n 编号。编号从 1 到 n 按顺时针方向连续进行。你分配的编号是 1。从编号为 i 的人开始,按顺时针方向计数,数 k(k > 0)个人,该人立即出圈。然后我们从出圈者左侧紧邻的人开始,继续顺时针方向再数 k 个人。被选中的人来到出圈者之前所在的位置。计数随后从他左侧的紧邻的人开始,数到第 k 个人出圈,依此类推,直到只剩下一人。
例如,当 n = 5,k = 2,i = 1 时,出圈的顺序是 2、5、3 和 1。最后剩余的人是 4。
输入格式
你的程序必须读取包含 n 和 k 值的输入行(按此顺序)。输入以一行 n 和 k 均为$0$的值结束。
你的程序可以假设最多有 100 人参加此活动。
输出格式
对于每一行输入,输出应从哪一个人的编号开始计数,以确保你是最后的那个剩余的人。例如,在上述情况下,安全的起始位置是 3。