Возможен и такой вариант алгоритма Евклида для n чисел. Определяем наибольшее и второе по величине из n чисел. Заменяем наибольшее число на их разность. Повторяем такие замены до тех пор, пока все числа не превратятся в нуль, кроме одного, — оно и будет наибольшим общим
делителем. Обоснуйте этот алгоритм и реализуйте его в
виде процедуры. Pascal
1. 7 { -6, -4, -2, 0, 2, 4, 6 }
Var k,n : Real;
Begin
n:=0;
k:=-6;
While k<=6 do
Begin
k:=k+2;
n:=n+1;
end;
Writeln('n = ',n);
end.
2. 7 { -2, -1.5, -1, -0.5, 0, 0.5, 1 }
Var k,n : Real;
Begin
n:=0;
k:=-2;
While k<=1 do
Begin
k:=k+0.5;
n:=n+1;
end;
Writeln('n = ',n);
end.
3. 3 { -3, -1, 1 }
Var k,n : Real;
Begin
n:=0;
k:=-3;
While k<=2 do
Begin
k:=k+2;
n:=n+1;
end;
Writeln('n = ',n);
end.
4. 7 { -1, -0.5, 0, 0.5, 1, 1.5, 2 }
Var k,n : Real;
Begin
n:=0;
k:=-1;
While k<=2 do
Begin
k:=k+0.5;
n:=n+1;
end;
Writeln('n = ',n);
end.