美文网首页C#题库
0019-约瑟夫问题

0019-约瑟夫问题

作者: 指尖极光 | 来源:发表于2017-03-13 20:51 被阅读39次

问题描述

约瑟夫问题:有n只猴子,按顺时针方向围成一圈选大王(编号从1到n) ,从第1号开始报数, 一直数到m,数到m的猴子退出圈外, 剩下的猴子再接着从 1 开始报数。就这样,直到圈内只剩下一只猴子时,这个猴子就是猴王,编程求输入n,m后,输出最后猴王的编号。

输入

每行是用空格分开的两个整数,第一个是 n, 第二个是 m ( 0 < m, n < 300)。最后一行是:0 0

输出

对于每行输入数据(最后一行除外),输出数据也是一行,即最后猴王的编号

输入样列

6 2
12 4
8 3
0 0

输出样例

5
1
7

算法实现

using System;

namespace Questions{
    class Program{
        public static void Main(string[] args){
             while (true) {
                string input = Console.ReadLine();
                string[] data = input.Split();
                int n = int.Parse(data[0]);
                int m = int.Parse(data[1]);
                if (n == 0 && m == 0)
                    break;
                int[] num = new int[n];
                int flag = n;
                int i = 0,k=0;
                while (flag != 1) {
                    if (num[i]==0) {
                        k++;
                        if (k == m) {
                            num[i] = 1;
                            k = 0;
                            flag--;
                        }
                    }
                    i=(i+1)%n;
                }
                for (i = 0; i < n; i++)
                    if (num[i] == 0)
                        Console.WriteLine(i+1);
            }
            Console.ReadKey();
        }
    }
}

相关文章

  • 0019-约瑟夫问题

    问题描述 约瑟夫问题:有n只猴子,按顺时针方向围成一圈选大王(编号从1到n) ,从第1号开始报数, 一直数到m,...

  • 约瑟夫问题

    今天看了一下约瑟夫问题,嗯,感觉自己智商欠费:( 还是来总结下好啦~ 问题 约瑟夫是犹太军队的一个将军,在反...

  • 约瑟夫问题

    题目:0,1,...,n-1这n个数字排成一个圆圈,从数字0开始每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下...

  • 约瑟夫问题

    要是你怎么制定游戏规则? 现在有前面15个好人和后面15个坏人,他们围成一圈。现在从第一个好人开始,数到第n个人就...

  • 约瑟夫问题

    问题来源 据说著名犹太历史学家Josephus有过以下的故事:在罗马人占领乔塔帕特后,39个犹太人与Josephu...

  • 约瑟夫问题

    源文件josephus.c

  • 约瑟夫问题

    约瑟夫问题 一、数组解法 二、循环队列 三、数学解法

  • 约瑟夫问题

    一、约瑟夫问题介绍 1、约瑟夫问题原题:n个小孩子手拉手围成一个圈,编号为k(1 <= k <= n )的人从1开...

  • 约瑟夫问题

    找到首节点、创建一个节点记录遍历当前节点的前一个节点、创建一个计数器,当计数器的值为3的时候,将该节点从链表中移除...

  • 约瑟夫问题

    大家自行百度下约瑟夫问题,这里用golang+单向循环链表的方式解决约瑟夫问题,下面先提供一下代码: func (...

网友评论

    本文标题:0019-约瑟夫问题

    本文链接:https://www.haomeiwen.com/subject/bfmqnttx.html