public class JosephusProblem2 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner inputScanner = new Scanner(System.in);
System.out.println("输入总人数和你要救的人数");
int totalnumber = inputScanner.nextInt();
int alive = inputScanner.nextInt();
int count = 1;
int pos = -1;
int man[] = new int[totalnumber];
for (int i = 0; i < totalnumber; i++) {
man[i] = 0;
}
int i = 0;
while (count <= totalnumber) {
do {
pos = (pos + 1) % totalnumber; // 环状处理
if (man[pos] == 0)
i++;
if (i == 3) { // 报数为3了
i = 0;
break;
}
man[pos] = count;
count++;
}
for (int j = 0; j < totalnumber; j++) {
System.out.print(man[j] + ",");
}
System.out.println();
//生存的几个人是最后的几个人
for ( int k = 0; k < totalnumber; k++) {
if (man[k] > totalnumber - alive)
System.out.printf("L ,");
else
System.out.printf("D ,");
}
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner inputScanner = new Scanner(System.in);
System.out.println("输入总人数和你要救的人数");
int totalnumber = inputScanner.nextInt();
int alive = inputScanner.nextInt();
int count = 1;
int pos = -1;
int man[] = new int[totalnumber];
for (int i = 0; i < totalnumber; i++) {
man[i] = 0;
}
int i = 0;
while (count <= totalnumber) {
do {
pos = (pos + 1) % totalnumber; // 环状处理
if (man[pos] == 0)
i++;
if (i == 3) { // 报数为3了
i = 0;
break;
}
} while (true);
man[pos] = count;
count++;
}
for (int j = 0; j < totalnumber; j++) {
System.out.print(man[j] + ",");
}
System.out.println();
//生存的几个人是最后的几个人
for ( int k = 0; k < totalnumber; k++) {
if (man[k] > totalnumber - alive)
System.out.printf("L ,");
else
System.out.printf("D ,");
}
}
}