约瑟夫环算法Java实现代码
发布时间:2020-05-24 15:29:06 所属栏目:Java 来源:互联网
导读:约瑟夫环算法Java实现代码
|
下面是脚本之家 jb51.cc 通过网络收集整理的代码片段。 脚本之家小编现在分享给大家,也给大家做个参考。 private void myJosf(int teamLength,int baoshu) {
int[] team = new int[teamLength];
for (int n = 1; n < teamLength + 1; n++) {
team[n - 1] = n;
}
int index = 0;
for (int n = 0; n < teamLength; n++) {
for (int k = 0; k < baoshu;) {
if (index > teamLength - 1) {
index = 0;
}
if (team[index] > 0) {
if ((k + 1) % baoshu == 0) {
System.out.println(index + 1);
team[index] = 0;
}
k++;
}
index++;
}
}
}
文艺求解: public void josephCircle(int n,int k) {
int flag = 0;
boolean[] kick = new boolean[n];
// set kick flag to False;
for (int i = 0; i < n - 1; i++) {
kick[flag] = false;
}
int counter = 0;
int accumulate = 0;
while (true) {
if (!kick[flag]) {
accumulate++;
if (counter == n - 1) {
System.out.println("kick last person====" + (flag + 1));
break;
}
if (accumulate == k) {
kick[flag] = true;
System.out.println("kick person====" + (flag + 1));
accumulate = 0;
counter++;
}
}
flag = (flag + 1) % n;
}
}
以上是脚本之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。 如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
