josephus_problem-snapshot-AIkrW

99

Описание

Репозиторий - задание, созданный из шаблона Поток 2024/josephus_problem

Языки

  • C++63,5%
  • CMake36,5%
год назад
год назад
год назад
год назад
год назад
год назад
readme.md

Это шаблонны проект для выполнения ДЗ

Запуск Сборки и тестов через терминал

Задача "Круговой массив с шагом K" (Josephus Problem)

Цель задания

Реализовать алгоритм для определения последнего оставшегося элемента в круговом массиве после последовательного удаления каждого K-го элемента.
Используемые структуры данных:

  • std::deque
    для эффективного управления элементами в круговом порядке.

Описание задачи

Дан массив

nums
и целое число
K
. На каждом шаге из массива удаляется K-ый элемент (счёт начинается с текущей позиции). Процесс повторяется, пока не останется один элемент.
Требуется:
Найти значение последнего оставшегося элемента.


Примеры


Объяснение алгоритма

  1. Инициализация дека:
    Все элементы массива копируются в

    std::deque
    .

  2. Цикл удаления:

    • На каждом шаге первые
      K-1
      элементов перемещаются в конец дека.
    • K-ый элемент (теперь в начале дека) удаляется.
  3. Завершение:
    Когда в деке остаётся один элемент, он возвращается как результат.