Считалочка: Определить номер последнего, оставшегося в круге - C#

Узнай цену своей работы

Формулировка задачи:

N ребят расположены по кругу. (Каждому присвоен номер по порядку). Начав отсчёт от первого, удаляют каждого k-ого, смыкая при этом круг. Определить номер последнего, оставшегося в круге. ()

Решение задачи: «Считалочка: Определить номер последнего, оставшегося в круге»

textual
Листинг программы
using System;
 
class Program
{
    static void Main()
    {
        int n = 8;
        int k = 3;
        bool[] guys = new bool[n];
        int remCount = 0;
        for (int i = 0; i < k && guys.Length - remCount > 1; i++)
            for (int j = i; j < guys.Length && guys.Length - remCount > 1; j += k, remCount++)
                guys[j] = true;
        for (int i = guys.Length - 1; i >= 0; i--)
            if (!guys[i])
            {
                Console.WriteLine("Выбран {0}! (считая от 0)", i);
                break;
            }
        Console.ReadKey();
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.833 из 5
Похожие ответы