约瑟夫环

来源:互联网 发布:长视频软件 编辑:程序博客网 时间:2024/05/18 03:12
public class JosephCircle {/** * @param args */public void josephCircle(int n,int k){int flag=0;boolean[] kick = new boolean[n];//set kick flag to False;for(int i=0;i<n-1;i++){kick[i]=false;}int counter=0;int accumulate=0;while(true){if(!kick[flag]){accumulate++;//最后一个,结束查找if(counter==n-1){System.out.println("kick last person===="+(flag+1));break;}//第k个,则将其T出,然后从0开始if(accumulate==k){kick[flag]=true;System.out.println("kick person===="+(flag+1));accumulate=0;counter++;}}flag=(flag+1)%n;}}public static void main(String[] args) {JosephCircle jCircle = new JosephCircle();jCircle.josephCircle(21, 3);}}

0 0
原创粉丝点击