Первый вариант алгоритма Евклида для n чисел можно
модифицировать так:
Procedure nEuclid(a:mas; n:Integer;
Var d:Integer);
Var i:Integer;
Begin
d:=a[1]; i:=1;
While (d<>1) And (i<=n) Do Begin
Euclid (d,a[i],d); i:=i+1;
End;
End;
На каком факте основывается данная модификация? в Pascal
Answers & Comments
Ответ:
var a,b,nod,k:integer;
begin
readln(a,b);
k:=0;
while (a<>0)and(b<>0) do
begin
if a>b then a:=a mod b else b:=b mod a;
k:=k+1;
end;
nod:=a+b;
writeln(nod,' ',k);
end.
Пример:
21 14
7 2
Объяснение: