/**
* 50个人围成一圈报数,遇到3的倍数,自动退出,最后剩下的人原来的位置是多少
*/
import java.util.ArrayList;
public class TestNum3 {
public static void main(String[] args) {
System.out.println(cycle(50, 3));
}
public static int cycle(int total, int k) {
ArrayList<Integer> list = new ArrayList<Integer>();
for (int i = 1; i <= total; i++) {
list.add(new Integer(i));
}
int index = -1;
while (list.size() > 1) {
index = (index + k) % list.size();
list.remove(index);
index--;
}
return ((Integer) list.get(0)).intValue();
}
}
50个人围成一圈报数,遇到3的倍数,自动退出,最后剩下的人原来的位置是多少
最新推荐文章于 2022-07-18 20:33:44 发布