选猴王

Posted 淡淡的烦恼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了选猴王相关的知识,希望对你有一定的参考价值。

题目:在n个猴王中选出一个猴王,规则是每隔几个淘汰一个,一直循环,直到只剩一个猴子

代码:

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 namespace SuanFa
 6 {
 7     class Program
 8     {
 9         static void Main(string[] args)
10         {
11             //n为输入的猴子的个数,m为每多少个猴子筛选一次
12             //i为猴子的位置,j为筛选猴子的位置
13             int n, count, m, i, j;
14             Console.Write("请输入猴子数:");
15             n = Convert.ToInt32(Console.ReadLine());
16             Console.Write("请输入要筛选的个数:");
17             m = Convert.ToInt32(Console.ReadLine());
18             int[] monkey = new int[n];
19             count = n;  //储存每次筛选后的猴子个数
20             for (i = 0; i < n; i++)
21             {
22                 monkey[i] = 1;
23             }
24             i = 0; j = 0;
25             while (count > 1)
26             {
27                 while(monkey[i%n]==0)
28                 {
29                     i = (i + 1) % n;
30                 }
31                 j = (j + 1) % m;
32                 if (j == 0)
33                 {
34                     monkey[i % n] = 0;
35                     count--;
36                 }
37                 i = (i + 1) % n;
38             }
39             for (i = 0; i < n; i++)
40             {
41                 if (monkey[i] == 1)
42                 {
43                     Console.WriteLine("猴王是第"+(i+1)+"");
44                     break;
45                 }
46             }
47             Console.ReadLine();
48         }
49     }
50 }

 

以上是关于选猴王的主要内容,如果未能解决你的问题,请参考以下文章

7-28 猴子选大王(20 分)

第4章-17.猴子选大王 (20分)

[PTA]7-28 猴子选大王

2020-12-31

c语言-猴子选大王-约瑟夫问题(队列,链表,数组)

只有在被选中时才在 ViewPager 中加载片段