时间限制: 1000 ms 内存限制: 65536 KB
【题目描述】
N个人围成一圈,从第一个人开始报数,数到M的人出圈;再由下一个人开始报数,数到M的人出圈;…输出依次出圈的人的编号。
【输入】
输入N和M。
【输出】
输出一行,依次出圈的人的编号。
【输入样例】
8 5
【输出样例】
5 2 8 7 1 4 6 3
【提示】
【数据范围】
对于所有数据,2≤N,M≤1000。
# include <bits/stdc++.h>
using namespace std;
int n,m,cnt,i,k;
int main(){
cin>>n>>m;
int a[10005]={0};
while (cnt<n){
if (a[i]==0){
k++;
if (k==m){
cout<<i+1<<" ";
a[i]=1;
cnt++;
k=0;
}
}
i++;
if (i==n)i=0;
}
return 0;
}