Ctrl K

Сколько тасовать, чтобы вернуть колоду

Средняя
В колоде чётное число карт cards, сверху вниз они пронумерованы 0, 1, …, cards - 1. Одна идеальная перетасовка устроена так: колоду делят ровно пополам и затем карты кладут по очереди — первая карта верхней половины, первая карта нижней половины, вторая карта верхней, вторая нижней, и так далее. Например, из 0 1 2 3 получается 0 2 1 3. Верните, после скольких перетасовок (хотя бы одной) колода впервые снова окажется в исходном порядке.
Пример 1
cards=6 → 4

0 1 2 3 4 5 → 0 3 1 4 2 5 → 0 4 3 2 1 5 → 0 2 4 1 3 5 → 0 1 2 3 4 5: четыре перетасовки.

Пример 2
cards=2 → 1

Из двух карт получается та же колода 0 1 уже после первой перетасовки.

Пример 3
cards=8 → 3

Колода из 8 карт возвращается в исходный порядок за 3 перетасовки.

Ограничения
  • 2 ≤ cards ≤ 1000
  • cards чётное
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиПоследний в кругу СредняяПотерянные броски кубика СредняяВершина пирамиды из цифр СредняяВолны накопленных сумм СредняяСколько раз упомянули каждого Средняя
загружаем Python…
Вход
cards=6
Ожидается
4

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 40 тестов на сервере, включая скрытые.