zoukankan      html  css  js  c++  java
  • 九度 1188 约瑟夫环问题

    1、原生的约瑟夫环问题,编号从1开始,共有N个人,步长为M,最后一个剩下的人的编号

    http://ac.jobdu.com/problem.php?pid=1188

    这里输出的是每一次出局人的编号

    public static void calc(int n, int m) {
            boolean[] markArr = new boolean[n + 1];
            for (int i = 0; i < n; i++) {
                markArr[i] = true;
            }
    
            int step = 0, start = 0, count = 0;
            for (int i = start;; i++) {
                if(i == n){
                    i = 0;
                }
                if (markArr[i]) {
                    step++;
                }
                if (step == m) {
                    markArr[i] = false;
                    count++;
                    if (count == n) {
                        System.out.println(i + 1);
                        break;
                    }else{
                        System.out.print(i + 1 + " ");
                    }
                    step = 0;
                }
            }
        }
  • 相关阅读:
    附加作业
    我的个人总结
    进度更新
    结对编程——电梯调度
    程序阅读的改进
    WordCount
    阅读程序
    VS2013单元测试
    附加作业
    个人最终总结
  • 原文地址:https://www.cnblogs.com/xiaoxian1369/p/5465201.html
Copyright © 2011-2022 走看看