Написать программу в Pascal ABC для нахождения наибольшего общего делителя произвольных...

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

Написать программу в Pascal ABC для нахождения наибольшего общего делителя произвольных десяти целых двухзначных чисел с помощью алгоритма евклиада(procedure).


Информатика (20 баллов) | 47 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

// PascalABC.NET 3.0, сборка 1110
procedure Euclid(a,b:integer; var gcd:integer);
var
  t:integer;
begin
  while b<>0 do begin
    a:=a mod b;
    t:=b; b:=a; a:=t
    end;
  gcd:=a
end;

var
  i,a,b,c:integer;
begin
  Randomize;
  for i:=1 to 10 do begin
    a:=Random(99)+1;
    b:=Random(99)+1;
    Euclid(a,b,c);
    Writeln('НОД(',a,',',b,')=',c)
    end
end.

Тестовое решение:
НОД(32,68)=4
НОД(80,68)=4
НОД(36,19)=1
НОД(4,61)=1
НОД(46,72)=2
НОД(55,53)=1
НОД(75,76)=1
НОД(27,96)=3
НОД(98,82)=2
НОД(46,23)=23

(142k баллов)