Составьте программу нахождения наибольшего общего делителя трех чисел, используя...

0 голосов
91 просмотров

Составьте программу нахождения наибольшего общего делителя трех чисел, используя следующую формулу:

НОД(А, B, С) = НОД(НОД(A, В), С).
Используя алгоритм Евклида.


Информатика (41 баллов) | 91 просмотров
0

алгоритм Евклида, как он его описывал - с вычитанием? Или его современную модификацию с делением?

0

Ну что же, ответа нет, имею право сам принять решение.

Дан 1 ответ
0 голосов
Правильный ответ

Function NOD(a, b: longint): longint;
begin
  while a <> b do
    if a > b then a := a - b
    else b := b - a;
  NOD := a
end;

var
  A, B, C: longint;

begin
  Write('Введите три натуральных числа: '); Readln(A, B, C);
  Writeln('НОД=', NOD(NOD(A, B), C))
end.

Тестовое решение:
Введите три натуральных числа: 256 48 24
НОД=8


(142k баллов)