Исполнитель Чертёжник перемещается на координатной плоскости, оставляя след в виде линии. Чертёжник может выполнять команду Сместиться на (где
,
— целые числа), перемещающую Чертёжника из точки с координатами
в точку с координатами
. Чертёжнику был дан для исполнения следующий алгоритм:
Начало
Сместиться на
Повтори раз
Сместиться на
Сместиться на
Конец повтори
Сместиться на
Конец
Укажите наибольшее возможное значение числа , для которого найдутся такие значения чисел
и
, что после выполнения программы Чертёжник возвратится в исходную точку.
Решение руками
Запишем систему:
Перенесем выражения с N в одну сторону, а числа в другую:
Найдем НОД (наибольший общий делитель) чисел и
.
Получим ответ:
Решение программой
max_n = 0
for n in range(1, 33):
if (-32 % n == 0) and (-20 % n == 0):
a = (-32 // n) - 15
b = (-20 // n) + 9
x = 30 + n * (a + 15) + 2
y = 30 + n * (b - 9) - 10
if x == 0 and y == 0:
max_n = n
print(max_n)