Курс 3.8 — Алгоритмы · Раздел 01 · Урок 1.4

Задача 1.3 — Как Вася резал картон

Разберём алгоритм разрезания прямоугольника на квадраты и подсчёта полученных частей.

Разберём алгоритм разрезания прямоугольника на квадраты и подсчёта полученных частей.
1.4 — Задача 1.3 — Как Вася резал картон

Материал урока

Вася взял прямоугольник с длиной a и шириной b (a > b), и начал вырезать из него квадраты по следующему алгоритму:

  1. Отмерить по длинной стороне отрезок, равный короткой стороне, и вырезать квадрат.
  2. Продолжать, пока не получится квадрат, а одна из сторон не станет нулём.

Мы хотим узнать, сколько квадратов каждого размера получилось.

a = int(input("Введите длину: "))
b = int(input("Введите ширину: "))

while a * b > 0:
    count = 0
    while a >= b:
        a -= b
        count += 1
    print(f"{count} квадрат(ов) размера {b}x{b}")
    a, b = b, a

Что стоит заметить:

  • Условие a * b > 0 — это хитрый способ проверить, что обе стороны положительные.
  • Мы используем обмен переменных a, b = b, a, чтобы не путаться, какая сторона длиннее.

Позже мы поговорим, как улучшить этот алгоритм, чтобы он работал быстрее.

Совет от ИИ: даже простые задачи помогают тренировать алгоритмическое мышление. Когда мы решаем их разными способами, мы учимся выбирать лучший вариант для конкретных условий.