#O1086. 测-长空御风的步兵试炼
测-长空御风的步兵试炼
题目描述
【背景】
由于可以白嫖其他RM战队的奇思妙想,校际RoboMaster战队交流会是RoboMaster机甲大师赛的优良传统。
近日,受到隔壁老大哥东南大学3SE战队的邀请,南航长空御风战队决定扛起步兵,动身前往东大九龙湖校区参加步兵交流大会。现场技术交流进行得非常基烈:有机械组在疯狂修车,有电控组在看机械组疯狂修车,有视觉组在看电控组在看机械组疯狂修车。由于口头争论往往不能带来正确的结果,东道主3SE战队决定组织大家玩一个游戏,以此来测试各战队步兵的真实战斗力。
【题目】
东道主让现场所有的n名步兵围成一个圆圈,并声明以下规则:1号位置的步兵击杀2号位置的步兵,3号位置的步兵击杀4号位置的步兵,5号位置的步兵击杀6号位置的步兵……以此类推,直到最后只剩下一名步兵。
然而自诩南航长空御风战队最优秀的机器人,我们的步兵将这次的游戏看成了对他的一次试炼。他并不想被任何步兵所杀死,因为这样会让他感到丢脸,以至于当场爆炸。长空御风的队员们并不想在上赛场之前就失去这样一名优秀的战斗力,因此我们需要在步兵围成圆圈之前,为他找到一个合适的位置,使得我们的步兵能够成为最后一个剩下的步兵。
输入格式
一个整数n,表示前来交流的步兵数目。
输出格式
一个整数p,表示最后一个剩下的步兵的位置。
6
5
10
5
128
1
提示
对于70%的数据,1<=n<=1 000
对于30%的数据,1<=n<=1 000 000 000
对于第一个样例,每次剩下的步兵的位置编号应发生如下变化:
1 2 3 4 5 6
1 3 4 5 6
1 3 5 6
1 3 5
1 5
5
因此输出为5