n个人(编号 1~n)围成一- 圈从编号为1的开始报数,从1报数到m;报到m的人出来,
下一个人继续重新从1开始报数,编程求最后一个留下的人的编号
如n=3,m=4
第一次出队: :
第二次出队: 3
最后留下: 2
public class T4 {
public static void main(String[] args) {
int n=3;
int m=4;
int[] arr=new int[n];
for (int i = 0; i < arr.length; i++) {
arr[i]=1;
}
int count=0;
while(true) {
for (int i = 0; i < arr.length; i++) {
if(arr[i]!=0) {
count++;
if(count%m==0) {
System.out.print(i+1+" ");
arr[i]=0;
}
if(count==n*m) {
return;
}
}
}
}
}
}