猴子选大王问题

来源:互联网 发布:共享需要输入网络密码 编辑:程序博客网 时间:2024/04/30 06:46

猴子选大王问题: 一堆猴子都有编号,编号是1,2,3 ...m ,这群猴子(m个)按照1到m的顺序围坐一圈,

从第1开始数,每数到第n个,该猴子就要离开此圈,这样依次下来,直到圈中只剩下最后一只猴子,则该猴子为大王

using System;
using System.Collections.Generic;
using System.Text;

namespace ExMonkey
{
    class Monkey
    {
        public int King(int M, int N)
        {
            //总人数 M ,数到第 N 个排除。
            int k=0;
            for (int i = 2; i <= M; i++)
                k = (k + N) % i;
            return ++k;
        }
        static void Main(string[] args)
        {
            Monkey M = new Monkey();
            Console.WriteLine ("第"+M.King(10,3)+"号猴子为大王。");
        }
    }
}