题目描述
有n个珠子串成一个圈,从第一个珠子开始数,每次数到第m个珠子就将其取下,然后从取下珠子的下一个珠子开始继续数,如此反复直到所有珠子都被取下。求每个珠子被取下的顺序。
例如,当n=9,m=2时,取下珠子的顺序是2 4 6 8 1 5 9 7 3。
输入
输入n,m,表示珠子的数量和第几颗拆下
输出
取下珠子的顺序
样例输入
9 2
样例输出
2 4 6 8 1 5 9 7 3
#include<bits/stdc++.h>
using namespace std;
int n,m,x,y,a[101],r;
int main(){
cin>>n>>m;
for(r=1;r<=n;x=x%n+1,y=y%m+1){
while(a[x]==1){
x=x%n+1;
}
if(y==m){
r++;
a[x]=1;
cout<<x<<" ";
y==1;
}
}
return 0;
}