From 54ced685d75a0151c47cd9fd561846d668581773 Mon Sep 17 00:00:00 2001 From: Neuf Date: Mon, 15 Sep 2025 22:41:05 +0500 Subject: [PATCH] =?UTF-8?q?10-=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8=D0=B5?= =?UTF-8?q?=20=D0=B2=D1=8B=D0=BF=D0=BE=D0=BB=D0=BD=D0=B5=D0=BD=D0=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Module16/10_rhyme_cnt/main.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/Module16/10_rhyme_cnt/main.py b/Module16/10_rhyme_cnt/main.py index 9b7f69c..7e7adac 100644 --- a/Module16/10_rhyme_cnt/main.py +++ b/Module16/10_rhyme_cnt/main.py @@ -1 +1,25 @@ # TODO здесь писать код +count_people = int(input('Кол-во человек: ')) +peoples = list(range(1, count_people + 1)) + +count_number = int(input('Какое число в считалке? ')) +print(f'Значит, выбывает каждый {count_number}-й человек\n') + +# Скорее всего не оптимальное решение. +# Решал чисто "интуитивно", с помощью дебага и "экспериментов" с вычислениями +leave = 0 +while len(peoples) > 1: + print('Текущий круг людей:', peoples) + print('Начало счёта с номера', peoples[leave]) + leave = (leave + count_number) % len(peoples) + if leave == 0: + leave = len(peoples) - 1 + else: + leave -= 1 + print('Выбывает человек под номером', peoples[leave]) + print() + peoples.remove(peoples[leave]) + if leave >= len(peoples): + leave %= len(peoples) + +print('Остался человек под номером', peoples[0]) \ No newline at end of file