有n个人依次围成一圈,从第1个人开始报数,数到第m个人出列,然后从出列的下一个人开始报数,数到第m个人又出列,…,如此反复到所有的人全部出列为止。
设n个人的编号分别为1,2,…,n,打印出列的顺序。
输入
n和m(0<n<100 , 0<m<200)
输出
出列的顺序
样例输入
4 17
样例输出
1 3 4 2
#include<bits/stdc++.h>
using
namespace
std;
int
main()
{
queue<
int
> qu;
int
n,k;
cin>>n>>k;
for
(
int
i=1;i<=n;i++)
qu.push(i);
int
bs=0;
while
(!qu.empty()){
bs++;
if
(bs%k==0){
cout<<qu.front()<<
" "
;
qu.pop();
}
else
{
qu.push(qu.front());
qu.pop();
}
}
}