题目描述
n个人围成一圈,从第一个人开始报数,数到m的人出圈,再由下一个人开始报数,数到m的人出圈,输出依次出圈的人的编号,n,m由键盘输入。
输入格式
输入只有一行,为两个正整数n、m(0<n,m<100000)。
输出格式
输出为一行,为n个人出圈的次序。
样例
输入数据#1
8 5
Copy
输出数据#1
5 2 8 7 1 4 6 3
#include<bits/stdc++.h>
using namespace std;
int n,m;
vector<int>v;
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)
{
v.push_back(i);
}
int cnt=-1;
while(!v.empty())
{
cnt=(cnt+m)%v.size();
cout<<v[cnt]<<' ';
v.erase(v.begin()+cnt);
cnt--;
}
}