0
已解决
林芳
高级守护
高级守护
题目描述 Description
有n个人围成一圈,按顺序从1到n编好号。从第一个人开始报数,报到m(<n)的人退出圈子;下一个人从1开始报数,报到m的人退出圈子。如此下去,直到留下最后一个人。本题要求编写函数,给出每个人的退出顺序编号。
输入描述 Input Description
输入两个数据n和m,其中n是初始人数;m是游戏规定的退出位次(保证为小于n的正整数)
输出描述 Output Description
输出每个人的退出顺序编号(第几个人的退出次序是几)
样例输入 Sample Input
12 5
样例输出 Sample Output
12 10 3 5 1 11 8 7 4 2 9 6
数据范围及提示 Data Size & Hint
2<=n<=50
0<m<n
0
0
汪恺恒
中级启示者
中级启示者
s=n;
while(1){
如果没有人 break;
if(!a[pos]){
cnt++;
if(cnt==m){
a[pos]=true;
b[pos]=++x;
cnt=0;
s--;
}
}
pos++;
if(pos==n+1){
pos=1;
}
}
最后输出b数组就行了
0
0