约瑟夫问题Java代码
发布时间:2020-05-24 21:03:35 所属栏目:Java 来源:互联网
导读:约瑟夫问题Java代码
|
下面是脚本之家 jb51.cc 通过网络收集整理的代码片段。 脚本之家小编现在分享给大家,也给大家做个参考。 public class JosephQuestion {
public static void main(String[] args) {
for (int i = 2; i < 11; i++) {
findMonitor(initPersons(i),i);
}
}
public static Person initPersons(int num) {
Person firstPerson = new Person(1);
Person lastPerson = firstPerson;
for (int i = 2; i <= num; i++) {
Person person = new Person(i);
lastPerson.setNextPerson(person);
lastPerson = person;
}
lastPerson.setNextPerson(firstPerson);
for (int i = 0; i <num; i++) {
System.out.print(firstPerson.getName()+" ");
firstPerson = firstPerson.getNextPerson();
}
System.out.println();
return firstPerson;
}
public static void findMonitor(Person person,int size) {
Person lastPerson = person;
int counter = 1;
while(size>1){
lastPerson = person;
person = person.getNextPerson();
counter++;
if(counter==3){
lastPerson.setNextPerson(person.getNextPerson());
person =lastPerson.getNextPerson();
counter=1;
size--;
}
}
System.out.println(person.getName());
}
}
以上是脚本之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。 如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
