Определить, сколько квадратов получится, если каждый раз выбирается самый большой квадрат - Pascal ABC
Формулировка задачи:
Написать программу для решения задачи. Задан прямоугольник со сторонами а и b. Разбиваем его на части с помощью квадратов. Определить, сколько квадратов получится, если каждый раз выбирается самый большой квадрат.
Решение задачи: «Определить, сколько квадратов получится, если каждый раз выбирается самый большой квадрат»
textual
Листинг программы
var
a, b, n: integer;
begin
writeln('Введите стороны прямоугольника (a,b) :');
readln(a, b);
while (a > 0) and (b > 0) do
begin
if a > b then a := abs(a - b) else
b := abs(a - b);
inc(n);
end;
writeln('Получится квадратов -',n);
end.
Объяснение кода листинга программы
- В начале объявляются переменные a, b и n типа integer.
- Затем выводится сообщение для ввода сторон прямоугольника (a,b).
- С помощью функции readln считываются значения a и b.
- Далее идет условный цикл while, который выполняется до тех пор, пока a и b не станут равными нулю.
- Внутри цикла проверяется, какая сторона больше. Если a больше b, то вычисляется разность между ними и присваивается переменной a. Если b больше a, то вычисляется разность между ними и присваивается переменной b.
- После этого увеличивается значение переменной n на единицу.
- По завершении цикла выводится сообщение с количеством получившихся квадратов.