Вопрос задан 31.10.2025 в 21:11. Предмет Информатика. Спрашивает Евсеев Линар.

Напишите программу для вычисления наибольшего общего делителя двух целых чисел: а) используйте оператор repeat б) используйте оператор while

Перейти к ответам

Ответы на вопрос

Отвечает Авдонин Евгений.

Для вычисления наибольшего общего делителя (НОД) двух целых чисел, можно использовать алгоритм Евклида. Рассмотрим два способа реализации этого алгоритма.

Способ 1: Используя оператор repeat (это чаще всего встречается в языках программирования, поддерживающих такие операторы, например, в Pascal или других языках с поддержкой циклов с повтором):

pascal
program NOD_repeat; var a, b, temp: integer; begin Write('Введите первое число: '); ReadLn(a); Write('Введите второе число: '); ReadLn(b);

repeat if a > b then a := a - b else b := b - a; until a = b; WriteLn('Наибольший общий делитель: ', a); end.

В этой программе цикл repeat продолжается до тех пор, пока значения переменных a и b не станут равными. Это будет означать, что они равны НОД.

Способ 2: Используя оператор while (такой подход подходит для языков, поддерживающих этот тип цикла, например, в Python, C++, Java и т.д.):

pascal
program NOD_while; var a, b: integer; begin Write('Введите первое число: '); ReadLn(a); Write('Введите второе число: '); ReadLn(b);

while a <> b do begin if a > b then a := a - b else b := b - a; end;

WriteLn('Наибольший общий делитель: ', a); end.

Здесь программа выполняет тот же алгоритм Евклида, но с использованием цикла while. Цикл продолжается до тех пор, пока числа не станут равными, и, как и в предыдущем примере, это будет их НОД.

Таким образом, оба подхода решают задачу нахождения НОД двух чисел, но используют разные циклы для итерации.

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Информатика 14.10.2025 04:57 26 Бердина Раиса
Информатика 13.10.2025 21:53 20 Кандрина Лера
Информатика 13.10.2025 20:34 14 Калинин Максим
Информатика 13.10.2025 20:27 6 Смирнов Егор
Информатика 13.10.2025 19:26 4 Макаров Максим
Информатика 13.10.2025 19:20 16 Гайнанов Эльнар
Информатика 13.10.2025 18:25 6 Bekenov Daulet
Информатика 13.10.2025 18:16 22 Александровна Вероника
Задать вопрос