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

LilLora LilLora    1   26.01.2021 23:16    0

Ответы
TEM1KK TEM1KK  25.02.2021 23:17

program HomeWork;

var a,b,c: integer;

begin

 write('Введите два целых числа через пробел: '); readln(a, b);

 c := a mod b;

 while c <> 0 do

 begin

   a := b;

   b := c;

   c := a mod b;

 end;

 write(b)

end.

ПОКАЗАТЬ ОТВЕТЫ
Nusyaa Nusyaa  25.02.2021 23:17

Паскаль. Вычисляет НОД для любого кол-ва чисел

Объяснение:

function Nod(a,b:integer):integer;{определение НОД двух чисел}

begin

while a<>b do

if a>b then a:=a-b else b:=b-a;

Nod:=a;

end;

var

   a: array of integer;

   n, i: integer;

   k: integer;

begin

 WriteLn('*** Определение НОД нескольких чисел ***');

 Write('Введите кол-во чисел N = '); ReadLn(n);

 SetLength(a, n + 1);

 WriteLn('Введите числа: ');

 for i := 1 to n do

  begin

   Write(i,'-e число: '); ReadLn(a[i]);

  end;

 WriteLn;

 k := Nod(a[1], a[2]);

 for i := 3 to n do k := nod(k, a[i]);

 WriteLn('Общий НОД всех чисел = ', k);

end.

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика