-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathJosephus.java
More file actions
46 lines (39 loc) · 1.2 KB
/
Josephus.java
File metadata and controls
46 lines (39 loc) · 1.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
package sjjg;
public class Josephus {
/*public Josephus(int number,int start, int distance){
System.out.println("Josephus("+number+","+start+","+distance+"),");
SeqList<String> list = new SeqList<String>(number);
for(int i=0;i<number;i++){
list.insert(i,(char)('A'+i)+"");
}
System.out.println(list.toString());
int i = start;
while(list.size()>1){
i = (i+distance-1)%list.size();
System.out.println("删除"+list.remove(i).toString()+",");
System.out.println(list.toString());
}
System.out.println("被赦免者是"+list.get(0).toString());
}
public static void main(String a[]){
new Josephus(5,0,2);
} */
public Josephus(int number,int start, int distance){
System.out.println("Josephus("+number+","+start+","+distance+"),");
SinglyList list = new SinglyList();
for(int i=0;i<number;i++){
list.insert(i,(char)('A'+i)+"");
}
System.out.println(list.toString());
int i = start;
while(list.size()>1){
i = (i+distance-1)%list.size();
System.out.println("删除"+list.remove(i).toString()+",");
System.out.println(list.toString());
}
System.out.println("被赦免者是"+list.get(0).toString());
}
public static void main(String a[]){
new Josephus(5,0,2);
}
}