青少年编程知识记录 codecoming

【题解】幸运儿

【题目描述】

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

本篇文章已加密,请输入密码后查看。

作者:亿万年的星光 分类:题解目录 浏览: