士兵队列训练问题

题目内容

题目描述

某部队进行新兵队列训练,将新兵从一开始按顺序依次编号,并排成一行横队,训练的规则如下:从头开始一至二报数,凡报到二的出列,剩下的向小序号方向靠拢,再从头开始进行一至三报数,凡报到三的出列,剩下的向小序号方向靠拢,继续从头开始进行一至二报数。。。,以后从头开始轮流进行一至二报数、一至三报数直到剩下的人数不超过三人为止。

输入描述

一个整数N,代表新兵人数,其中N<=5000。

输出描述

输出剩下的新兵最初的编号,编号之间有一个空格。

样例输入

20

样例输出

1 7 19

提示

两个队列保存数据。比如一开始所有的士兵保存在队列q1中,第一次报数时,如果士兵报1,则q1出队,并进入队列q2中;若士兵报2,则出队。第二次报数时,如果士兵报1或报2,则从q2出队,并进入队列q1中;若士兵报3,则出队。最后,如果队列中士兵的数量少于3,则输出队列中的元素。
提交评测
请登录后再操作

题目描述

士兵队列训练问题
1565
0
08Level6
34
16
47%
证书查询 x
请输入证书编号:

请输入正确的证书编号

学员姓名:孙兴民

课程:Scratch Level 1

发证日期:2019.08.15

证书查询

该证书不存在