ЗАДАЧИ
problems.ru
О проекте | Об авторах | Справочник
Каталог по темам | по источникам |
К задаче N

Проект МЦНМО
при участии
школы 57
Задача 64152
Темы:    [ Знакомство с циклами ]
[ Задачи с целыми числами ]
Сложность: 2
Классы: 8
В корзину
Прислать комментарий

Условие

Задача Иосифа Флавия

Существует легенда, что Иосиф Флавий - известный историк первого
века - выжил и стал известным благодаря математической одаренности.
В ходе иудейской войны он в составе отряда из 41 иудейского воина
был загнан римлянами в пещеру. Предпочитая самоубийство плену, воины решили
выстроиться в круг и последовательно убивать каждого третьего из
живых до тех пор, пока не останется ни одного человека.
Однако Иосиф наряду с одним из своих единомышленников счел подобный
конец бессмысленным - он быстро вычислил спасительные места
в порочном круге, на которые поставил себя и своего товарища.
И лишь поэтому мы знаем его историю.

В нашем варианте мы начнем с того,
что выстроим в круг N человек, пронумерованных числами от 1 до N,
и будем исключать каждого k-ого до тех пор, пока не уцелеет только
один человек. (Например, если N=10, k=3, то сначала умрет 3-й,
потом 6-й, затем 9-й, затем 2-й, затем 7-й, потом 1-й, потом 8-й,
за ним - 5-й, и потом 10-й. Таким образом, уцелеет 4-й.)

Задача: определить номер уцелевшего.

Входные данные: числа N и k вводятся из файла INPUT.TXT.
Ограничения: 1<=N<=500, 1<=k<=100.

Выходные данные: Программа должна выдавать номер уцелевшего человека
в файл OUTPUT.TXT.

Пример входного файла:
10 3

Пример выходного файла:
4

Подсказка

Задача Иосифа Флавия очень богата на идеи. Предполагается, что школьники будут решать ее, моделируя процесс. При этом есть два подхода: завести массив, где помечать, жив человек или нет. Бегать по кругу и считать живых. Второй подход: завести массив с номерами живых людей, и при убивании человека удалять из него человека. При каждом из подходов, задача является довольно сложной и требует аккуратной реализации.


Решение

Скачать архив тестов

Источники и прецеденты использования

Курс
предмет информатика
Название Основы программирования на языке Паскаль
Класс 8
Автор Матюхин Виктор Александрович
Место проведения Московская гимназия на Юго-Западе N1543
задача
Номер 131

© 2004-... МЦНМО (о копирайте)
Пишите нам

Проект осуществляется при поддержке Департамента образования г.Москвы и ФЦП "Кадры" .