zoukankan      html  css  js  c++  java
  • 约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。

    以数组的方法:

     public static void main(String[] args) {
            final int n = 10; 
            final int k = 1; 
            final int m = 3; 
            start(n, k, m); 
     }
        public static void start(int n, int k, int m){ 
            //生产数组 
            int[] arrays = new int[n]; 
            for (int i = 0; i < arrays.length; i++) 
                arrays[i] = i+1; 
            //开始弹出 
            int now = 0; 
            int num = k; //当前人 
      int j=1;
            while(j<=n){        
                if(arrays[num-1] != 0){ //如果当前没弹出 
                 now ++ ;
                    if(now == m){ //弹出 
                        System.out.println("pop:" + arrays[num-1]); 
                        arrays[num-1] = 0; 
         j++;
                        now = 0; 
                    } 
                } 
                num ++ ; 
                if(num > n) 
                    num = 1; 
            } 
             
        } 

  • 相关阅读:
    【转贴】Cookie + Session + OAuth + SSO
    zz淘宝商品库MySQL优化实践
    HIVE 数据倾斜调优总结zz
    数据挖掘笔记(一)
    hive函数参考手册
    hive QL(HQL)简明指南zz
    数据挖掘笔记(二)
    python format string (转)
    hive 中转义符使用问题
    关于文档管理
  • 原文地址:https://www.cnblogs.com/qq809102690/p/3713248.html
Copyright © 2011-2022 走看看