25 lines
1.0 KiB
Python
25 lines
1.0 KiB
Python
# 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]) |