Dotcpp  >  编程题库  >  幸运儿
题目 1213:

幸运儿

时间限制: 2s 内存限制: 192MB 提交: 803 解决: 377

题目描述

n 个人围成一圈, 并依次编号1~n,从编号为1 的人开始,按顺时针方向每隔一人选出一个,当一圈结束之后,剩下的人重新围成一圈,再次从编号1的人开始,如此循环直到剩下两人,这剩下的两人就是幸运儿。如果你想成为最后两个幸运儿,请问开始时应该站在什么位置?(设3<=n<=50)

输入格式

有多个测试序列。每行是开始时的人数n

输出格式

第1 行是选出顺序,第2 行是两名幸运儿的开始位置(按升序排列),位置编号之间用一个空格分开。

样例输入

12
20

样例输出

2 4 6 8 10 12 3 7 11 5
1 9
2 4 6 8 10 12 14 16 18 20 3 7 11 15 19 5 13 9
1 17

提示

零基础同学可以先学习视频课程,包含C/C++、Python、百练、蓝桥杯辅导、算法数据结构等课程,提供视频讲解以及配套习题,还有老师答疑,点击这里了解课程详情
标签