package interview;
import java.util.ArrayList;
import java.util.List;
public class Circle {
public static void main(String[] args) {
Circle circle = new Circle();
circle.test();
}
//n个人(编号 1~n)围成一- 圈从编号为1的开始报数,从1报数到m;报到m的人出来,
//下一个人继续重新从1开始报数,编程求最后一个留下的人的编号
//如n=3,m=4
//第一次出队: :
//第二次出队: 3
//最后留下: 2
List ar = new ArrayList<Integer>();
int n = 4;
int m = 8;
public void test(){
for (int i = 1; i <=n; i++) {
ar.add(i - 1, i);
}
while (ar.size()!=0){
int order = m%ar.size();
if (order == 0){
order =ar.size()-1;
}else {
order -=1;
}
System.out.println(ar.get(order));
ar.remove(order);
}
}
}
n个人(编号 1~n)围成一- 圈从编号为1的开始报数,从1报数到m;报到m的人出来
最新推荐文章于 2023-05-18 11:28:53 发布