TUZ_2-01 Вычисление порядкового номера в задаче Иосифа Флавия
Задача Иосифа Флавия – широко известная в информатике теоретическая задача. Суть ее заключается в следующем:
в круг выстраивается
N человек. Из стоящих выбирается
k-й человек, который покидает круг.
Далее покинувшие круг не участвуют в процессе подсчета, а последний оставшийся считается победителем.
Цель состоит в том, чтобы разработать функцию, которая принимает заданные значения
N и
k и возвращает порядок,
в котором игроки будут покидать круг.
Здесь
N представляет общее количество людей, а
k – количество пропусков. Важно отметить, что
k может быть
меньше,
равно или даже
больше N.
В таблице показаны некоторые ожидаемые результаты для разных значений
N и
k.
| Некоторые ожидаемые результаты для разных значений k и n |
| N, k |
Ожидаемый результат |
| 6, 2 |
[2, 4, 6, 3, 1, 5] |
| 5, 2 |
[2, 4, 1, 5, 3] |
| 8, 8 |
[8, 1, 3, 6, 5, 2, 7, 4] |
| 3, 9 |
[3, 1, 2] |
| 4, 3 |
[3, 2, 4, 1] |
Ссылка на тетрадь с разбором
Напишите фрагмент кода, реализующий данную функцию