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

        static void Main(string[] args)
            {
    
                ///解题思路:
                ///1,N个猴子,报数,报道M个猴子出圈
                ///2,输出N个人的出圈次序
                ///3,用数组模拟N猴子,数组类型为布尔,代表这个人是否出圈,为true时这猴子出圈
                ///4,我们可以用循环模拟报数,报到M的人出圈。当N个人全部出圈之后循环结束
                ///5.报数的时候,需要判断,没出圈的人才能报数。
                int n;
                int m;
                Console.WriteLine("N代表圈中有多少人");
    
                n = int.Parse(Console.ReadLine());
                 Console.WriteLine("M代表出圈的人");
                m = int.Parse(Console.ReadLine());
                int index = 0;
                int count = 0;
                int num = 0;
                bool[] monkey = new bool[n];
    
                while (num <= m)
                {
                    if (monkey[index] == false)
                    {
                        count++;
                        if (count == m)
                        { 
                            //下一个人从新报数
                            count=0;
                            //当前报M的人出圈
                            monkey[index] = true;
                            //出圈人数加1
                            num++;
                            Console.WriteLine("第{0}个人出圈了", index + 1);
                        }
                    
                    }
                    //下一个人报数,index同时注意越界          
                    index++;
                    index %= n;
                  
                }
                Console.ReadLine();
            }
  • 相关阅读:
    SQL行列转换
    ASP.NET 〈%# 〉与〈%=〉的区别
    超级强大的 分页Sql存储过程
    ASP.Net 路径问题
    sql server分页
    JavaScript Rules2
    JavaScript Rules
    Draggable
    PHP面向对象编程静态变量(类变量)
    PHP 面向对象成员方法
  • 原文地址:https://www.cnblogs.com/tianranhui/p/10731031.html
Copyright © 2011-2022 走看看