#P1012. Joseph
Joseph
描述
约瑟夫问题是广为人知的。对于那些不熟悉原始问题的人:有(n)个人,编号为(1)、(2)、……、(n),他们站成一个圆圈,每隔(m)个人就会被处决,只有最后剩下的那个人的生命会被挽救。约瑟夫足够聪明,能够选择成为最后剩下的那个人的位置,从而挽救了自己的生命,并向我们传达了关于这个事件的信息。例如,当(n = 6)且(m = 5)时,人们将按照(5)、(4)、(6)、(2)、(3)的顺序被处决,而(1)号会被挽救。
假设存在(k)个好人以及(k)个坏人。在圆圈中,前(k)个是好人,后(k)个是坏人。你必须确定最小的(m)值,使得在第一个好人被处决之前,所有的坏人都能被处决。
输入
输入文件由若干行组成,每行包含一个整数(k)。输入文件的最后一行包含(0)。你可以假定(0 < k < 14)。
输出
输出文件将由若干行组成,每行包含与输入文件中(k)相对应的(m)值。
输入示例
3
4
0
输出示例
5
30
来源
1995年中欧地区竞赛