• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
遥远的梦
--心有多大, 世界就有多大
博客园    首页    新随笔    联系   管理    订阅  订阅
常用算法(C#): 猴子选大王问题

猴子选大王问题: 一堆猴子都有编号,编号是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)+"号猴子为大王。");
        }
    }
}

 

posted on 2008-09-10 09:32  子逸  阅读(3060)  评论(1)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3