约瑟夫环:
经典算法问题约瑟夫环
package com.softeem.lesson05.sort;
import java.util.Scanner;
public class JosephRing {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("输入参与人数:");
boolean[] arr = new boolean[sc.nextInt()];
for (int i = 0; i < arr.length; i++) {
arr[i] = true;
}
int index = 0;
int count = 0;
int len = arr.length;
System.out.print("输入淘汰数值:");
int order = sc.nextInt();
while (len > 1) {
if (arr[index]) {
count ++;
if (count == order) {
arr[index] = false;
len --;
count = 0;
}
}
index ++;
if (index == arr.length) {
index = 0;
}
}
for (int i = 0; i < arr.length; i++) {
if (arr[i]) {
System.out.println("最后剩下的人在圈中的索引为:" + i);
break;
}
}
}
}