Как решить задачу?

Задача Иосифа Флавия. В круг выстроено n человек, пронумерованных числами от 1 до n, и исключается каждый второй из оставшихся до тех пор, пока не уцелеет только один человек. Определить номер уцелевшего, J(n). n принять чётным. Для решения использовать циклический список.
Я понятия не имею как это делать, задали как обычную лабораторную, когда мы даже еще списки не проходили, очень нужно, буду благодарен.
  • Вопрос задан
  • 290 просмотров
Пригласить эксперта
Ответы на вопрос 2
wataru
@wataru Куратор тега C++
Разработчик на С++, экс-олимпиадник.
Если просят использовать циклический список, то значит вам их давали. Повторите материал, поищите методички. И поймете, как работать со списками. А дальше - все просто. Создайте циклический список из чисел от 1 до n, возьмите указатель на первого чувака. Потом n-1 раз пропускайте одного чувака и удаляйте из списка следующего.
Ответ написан
saboteur_kiev
@saboteur_kiev Куратор тега C++
software engineer
Ну или уточните у преподавателя, почему дают задачи, если вы не проходили. Или вы проходили но в это время чихнул/заболел/смотрел ютуб.

Пройди циклические списки самостоятельно.

Твоя задача - это не выдать ответ преподу. На самом деле твоя задача - научиться пользоваться циклическими списками для себя. А для этого нужно самостоятельно ее решить.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы