1435: 报数游戏

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:23 解决:18

题目描述

小朋友都喜欢做游戏,今天就教大家一个游戏。游戏规则非常简单,基本描述如下:
假设有n个小朋友玩这个游戏,那么我们把所有的人从1到n都逐一编好号码,以便游戏的开始。n个同学根据自己的编号按照顺时针顺序站成一个圈,如下图(以10人为例):

现在从编号1的小朋友那开始按照顺时针的方向报数,报数的规则是,我们只做1-2报数,也就是报完1再报2,然后再报1,再报2 …… 。当有人报数报到2时,此人就输掉了游戏,必须离开,当某个人离开游戏后,大家仍然保持相对的位置继续报数,直到只有1个人剩下时才停止,这个人就是游戏的胜利者。我们由上图(以10人为例),可以得到依次离开游戏的顺序: 2, 4, 6, 8, 10, 3, 7, 1, 9。最后胜利者为编号是5的小朋友。
经过几次游戏,聪明的小明感觉到了其中是有规律的,他猜测如果已知参与游戏的人数,那么这个胜利者编号就是固定的,但是他却没有计算出来到底谁会赢得游戏。现在请你来帮助小明去计算到底谁才是游戏的胜利者。
每组数据都会告诉你参与这个游戏的人数n,并且n不会超过1000。请你对于每组数据都输出那个胜利者的编号。
【样例输入1
4
【样例输出1
1
(解释:离开游戏的顺序是: 2 4 3所以说剩下的编号为1的是胜利者。)
【样例输入2
10
【样例输出2
5
(解释:题目中已经描述。)

样例输入 复制

4

样例输出 复制

1

来源/分类