Задача
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] |
Ссылка на тетрадь с разбором
Напишите фрагмент кода, реализующий данную функцию