猴子选大王问题:
一堆猴子都有编号,编号是1,2,3 ...m ,这群猴子(m个)按照1到m的顺序围坐一圈,
从第1开始数,每数到第n个,该猴子就要离开此圈,这样依次下来,直到圈中只剩下最后一只猴子,则该猴子为大王。
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;public partial class _Default : System.Web.UI.Page{ protected void Page_Load(object sender, EventArgs e) { } protected void sa_Click(object sender, EventArgs e) { int M = Convert.ToInt32(hzz.Text.Trim()); //总猴子数 M int N = Convert.ToInt32(clhz.Text.Trim()); //出来的猴子 N //总猴子数 M ,数到第 N 个排除。 int k = 0; for (int i = 2; i <= M; i++) { k = (k + N) % i; } hzdw.Text = Convert.ToString(k + 1);//猴子大王 }}
结果如下: