约瑟夫环
题目: 古代某法官要判决n个犯人死刑,他有一条荒唐的逻辑,将犯人首尾的相接排成圆圈,然后从第s个人开始数起,每数到第m个犯人,就拉出来处决;然后又数m个,数到的犯人又拉出来处决,依次类推。剩下的最后一人可以豁免。 自己智商能理解的写法 public class Josephus { public static void main(String[] args) { //编号从 0 到 n-1 //最终输出 最后一个活下来的人的编号 int n = 5; // 总人数 int s = 0; // 起始的人的编号 int d = 3; // 每数到第几个人 int alive_person = n; int[] person_state = new int[n]; int current_person_index = s; int counter = 0; while( true ) { // count counter++; // judge current person if ( counter==d ) { person_state[current_person_index] = 1; // kill this person System.out.println("the person whose index is " + current_person_index+" die");