public class Josephus {
public static void main(String[] args) {
//总人数为41
int total = 41;
MyNode first = new MyNode(1);
first.next = first;
MyNode p = first;
for (int k = 2; k <= total; k++) {
MyNode temp = new MyNode(k);
p.next = temp;
temp.next = p;
p = p.next;
}
p.next = first;
//数到3出局
int count = 3;
while (p.next!=p)
{
for (int i=1;i<count;i++){
p = p.next;
}
System.out.println(p.next.data);
p.next = p.next.next;
}
System.out.println("幸运者是: "+p.data);
}
}
class MyNode{
int data;
public MyNode(int i){
this.data = i;
}
MyNode next;
}
约瑟夫问题java代码
最新推荐文章于 2023-02-12 21:07:20 发布