Перейти к содержанию

Чертёжнику был дан для исполнения следующий алгоритм (количество повторений и величины смещения в первой из повторяемых команд неизвестны): НАЧАЛО Сместиться на (-11,32) ПОВТОРИ … РАЗ Сместиться на (15,-12) Сместиться на (… , …) КОНЕЦ ПОВТОРИ Сместиться на (-19,38) КОНЕЦ В результате выполнения этого алгоритма Чертёжник возвращается в исходную точку

Исполнитель Чертёжник перемещается на координатной плоскости, оставляя след в виде линии. Чертёжник может выполнять команду Сместиться на (a,b) (где a, b — целые числа), перемещающую Чертёжника из точки с координатами (x, y) в точку с координатами (x +a, y +b). Если числа a, b положительные, значение соответствующей координаты увеличивается, если отрицательные — уменьшается. Например, если Чертёжник находится в точке с координатами (2, 3), то команда Сместиться на (-5,2) переместит Чертёжника в точку (−3, 5).

Цикл

ПОВТОРИ число РАЗ

последовательность команд

КОНЕЦ ПОВТОРИ

означает, что последовательность команд будет выполнена указанное число раз (число должно быть натуральным).

Чертёжнику был дан для исполнения следующий алгоритм (количество повторений и величины смещения в первой из повторяемых команд неизвестны):

НАЧАЛО

Сместиться на (-11,32)

ПОВТОРИ … РАЗ

Сместиться на (15,-12)

Сместиться на (… , …)

КОНЕЦ ПОВТОРИ

Сместиться на (-19,38)

КОНЕЦ

В результате выполнения этого алгоритма Чертёжник возвращается в исходную точку. Какое наибольшее число повторений могло быть указано в конструкции «ПОВТОРИ … РАЗ»?.


Пусть первоначально Чертёжник находился в точке с координатами (x, y). Обозначим через n число повторений цикла, через a и b смещения по оси x и y в команде Сместиться на (… , …). Тогда после выполнения заданного алгоритма Чертёжник переместится в точку с координатами (x − 11 + n(15 + a) − 19, y + 32 + n(−12 + b) + 38) = (x − 30 + n(15 + a), y + 70 + n(b − 12)).

После выполнения программы Чертёжник возвратится в исходную точку, из которой он начал движение, то есть в точку с координатами (x, y). Следовательно, должны выполняться условия

${tablex − 30 + n(15 + a) = x; y + 70 + n(b − 12) = y;$

Отсюда

${tablen(15 + a) = 30; n(b − 12) = −70;$

Наибольшее возможное n является наибольшим общим делителем чисел 30 и −70. Следовательно, n = 10.

Ответ: 10