Задача к ЕГЭ по информатике на тему «исполнитель «чертежник»» №2

Исполнитель Чертёжник перемещается на координатной плоскости, оставляя след в виде линии. Чертёжник может выполнять команду Сместиться на (c, d) (где c, d – целые числа), перемещающую Чертёжника из точки с координатами (x, y) в точку с координатами (x + c, y + d).
Цикл

Повтори число раз

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

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

Начало

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

Повтори N раз

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

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

Конец повтори

Сместиться на (-25, 72)

Конец

Укажите максимальное значение числа N>1, для которого найдутся такие значения чисел c и d, что после выполнения программы Чертежник возвратится в исходную точку.

Решение руками

Преобразуем все передвижения в систему:

( { − 15 +n ∗c + 200 ∗n − 25 = 0 (   − 144+ 300 ∗n + n∗d + 72 = 0

( {n ∗(200+ c) = 40  (n ∗(300+ d) = 72

НОД(40; 72) = 8 — ответ.

Решение программой

def find_max_n():
    max_n = 0
    for n in range(2, 41):
        if (40 % n == 0) and (72 % n == 0):
            c = (40 // n) - 200
            d = (72 // n) - 300
            x = -15 + n * (c + 200) - 25
            y = -144 + n * (300 + d) + 72
            if x == 0 and y == 0:
                max_n = n
    return max_n

print(find_max_n())

Ответ: 8
Оцените статью
Я решу все!