zoukankan      html  css  js  c++  java
  • 约瑟夫环之递归实现

      网上的递推方法实在是看不懂,只能用土办法-归纳总结。经过推算,假如不是从0开始会很麻烦。在归纳的时候发现有问题可以灵活一点。

      个数               数据                   最后一个退出的编号

        1                  0                            0                                   0

        2               0    1                         1                               (0+3)%2

        3             0   1    2                      1                                (1+3)%3

        4           0  1    2    3                   0                                (1+3)%4

            5        0   1   2     3    4               3                                (0+3)%5

      

           发现规律  :f(i)=(f(i-1)+k)%lenght                    怎么证明?小弟不会!!!!

       

        /**
         * 报数到第K个退出
         * 总共m个人
         * 第i个出局的人
         * @param m
         * @param k
         * @param i
         * @return
         */
        public static  int  recursionOfJosephCircle(int m,int k,int i)
        {
            if(m==1)
                return 0;
            else 
                return (recursionOfJosephCircle(m-1, k, i-1)+k)%m;
        }

      

  • 相关阅读:
    AJAX教程
    HTTP请求响应对照表
    JQuery教程
    服务器网络编程一
    servlet
    DOM浏览器文档模型
    在centos7下安装nodejs14
    将C#控制台程序部署到Linux系统
    在gitlab上通过python服务钩子实现自动部署
    Centos 7搭建Gitlab服务器超详细
  • 原文地址:https://www.cnblogs.com/maydow/p/4839251.html
Copyright © 2011-2022 走看看