题目描述
n个人(n<=100)围成一圈,从第一个人开始报数,数到m的人出列,再由下一个人重新从1开始报数,数到m的人再出圈,……依次类推,直到所有的人都出圈,请输出依次出圈人的编号.
输入输出格式
输入格式:
n m
输出格式:
出圈的编号
输入输出样例
#include <queue>
#include <iostream>
using namespace std;
int main()
{
int n, m;
cin >> n >> m;
queue<int> q;
for (int i = 1; i <= n; ++i)
{
q.push(i);
}
int outNum = 1;
while (!q.empty())
{
if (outNum == m)
{
cout << q.front() << " "; //打印出局的编号
q.pop();
outNum = 1; //初始化现在的数字
}
else
{
q.push(q.front());
q.pop();
outNum++;
}
}
cout << endl;
system("pause");
return 0;
}