Считалочка: Определить номер последнего, оставшегося в круге - 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(); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д