美文网首页程序员
算法--约瑟夫斯环

算法--约瑟夫斯环

作者: reedthinking | 来源:发表于2017-06-16 16:47 被阅读0次

    n个人围成一个圆圈,编号为1~n,从第一号开始报数,报到m的倍数的人离开, 一直数下去,直到最后只有一个人, 求此人编号

    public class Josephus {
        public int josephus(int n, int m) {
            int s = 0;
            for (int i = 2; i <= n; i++) {
                //每轮出局的人的序号
                s = (s + m) % i;
            }
            //编号1开始
            return s + 1;
        }
    
        public static void main(String[] args) {
            System.out.println(new Josephus().josephus(15, 3));
        }
    }
    

    相关文章

      网友评论

        本文标题:算法--约瑟夫斯环

        本文链接:https://www.haomeiwen.com/subject/urjmqxtx.html