博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
约瑟夫环
阅读量:5275 次
发布时间:2019-06-14

本文共 968 字,大约阅读时间需要 3 分钟。

介绍:约瑟夫环:有n个人围成一圈,开始报数1,2…m。报道第i个数然后枪毙,问最后剩下的k个人的位置在哪?

/** * 约瑟夫环:有n个人围成一圈,开始报数1,2...m。报道第i个数然后枪毙,问最后剩下的k个人的位置在哪? * 假设n=50,m=3,i=3,k=1 * @author wql * */public class JosephRing {
public static int fun() { boolean[] flag = new boolean[50];// 默认是false,我认为false是活着的 int alive = 50; // 还活着的人的数量 int count = 0; // 报数 int i = 0; // 下标 while (alive > 1) { if (!flag[i]) { count++; } if (count == 3) { count = 0; // 重新报数 flag[i] = true; // 枪毙 alive--; } if (i == flag.length - 1) { // 到末尾 i = -1; // 转圈 } i++; } int index = 0; for (int j = 0; j < flag.length; j++) { if (!flag[j]) { index = j; } } return index; }}

转载于:https://www.cnblogs.com/wangqilong/p/9417576.html

你可能感兴趣的文章