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

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

Начало

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

Повтори N  раз

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

   Сместиться на (15,− 9)

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

Сместиться на (2,− 10)

Конец

Укажите наибольшее возможное значение числа N  , для которого найдутся такие значения чисел a  и b  , что после выполнения программы Чертёжник возвратится в исходную точку.

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

Запишем систему:

( {30 + N * (a + 15) + 2 = 0 (30 + N * (b + (-9)) + (- 10) = 0

Перенесем выражения с N в одну сторону, а числа в другую: 

( { N * (a + 15) = -32  ( N * (b -9) = -20

Найдем НОД (наибольший общий делитель) чисел 32  и 20  .
Получим ответ: 4

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

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)

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