Тема 12. Алгоритмы – анализ сложных алгоритмов

12.05 Исполнитель «Чертежник»

Вспоминай формулы по каждой теме
Решай новые задачи каждый день
Вдумчиво разбирай решения
ШКОЛКОВО.
Готовиться с нами - ЛЕГКО!
Подтемы раздела алгоритмы – анализ сложных алгоритмов
Решаем задачу:

Ошибка.
Попробуйте повторить позже

Задача 1#26145

Исполнитель Чертёжник перемещается на координатной плоскости, оставляя след в виде линии. Чертёжник может выполнять команду Сместиться на (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

Специальные программы

Все специальные программы

Программа
лояльности v2.0

Приглашай друзей в Школково и получай вознаграждение до 10%!

Крути рулетку
и выигрывай призы!

Крути рулетку и покупай курсы со скидкой, которая привязывается к вашему аккаунту.

Бесплатное онлайн-обучение

Для школьников из приграничных территорий России, проживающих в ДНР, ЛНР, Херсонской, Запорожской, Белгородской, Курской, Брянской областях и Крыму.

Налоговые вычеты

Узнай, как получить налоговый вычет при оплате обучения в «Школково».

Специальное предложение
для учителей

Бесплатный доступ к любому курсу подготовки к ЕГЭ, ОГЭ и олимпиадам от «Школково». Мы с вами делаем общее и важное дело, а потому для нас очень значимо быть чем-то полезными для учителей по всей России!

Вернём деньги за курс
за твою сотку на ЕГЭ

Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!

cyberpunkMouse
cyberpunkMouse
Рулетка
Вы можете получить скидку в рулетке!