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);
}
}约瑟夫环
最新推荐文章于 2024-11-14 15:54:34 发布
11万+

被折叠的 条评论
为什么被折叠?



