Copy Code code as follows:
import Java.io.BufferedInputStream;
import java.util.ArrayList;
import java.util.List;
import Java.util.Scanner;
public class Josephus {
private static Class node{
int No;
Node Next;
public Node (int No) {
this. No=no;
}
}
public static void Main (string[] args) {
int totalnum,cyclenum;
list<integer> list = new arraylist<integer> ();
Scanner cin = new Scanner (new Bufferedinputstream (system.in));
System.out.println ("Please enter total number:");
Totalnum=cin.nextint ();
System.out.println ("Please enter count number:");
Cyclenum=cin.nextint ();
Node Header = new node (1);
Node pointer = header;
for (int i=2;i<=totalnum;i++) {
pointer.next = new Node (i);
pointer = Pointer.next;
}
pointer.next= Header;
Pointer=header;
while (pointer!= pointer.next) {
int i = 2;
while (i<cyclenum) {
pointer = Pointer.next;
i++;
}
List.add (Pointer.next.No);
System.out.println ("+pointer.next.no+") is removed. ");
Pointer.next=pointer.next.next;
Pointer=pointer.next;
}
System.out.println ("This is the Last man:" +pointer. No);
}
}