program z1;
var a,b,k: integer;
begin
k:=0;
read(a,b);
repeat
if a>b then a:=a mod b else b:=b mod a;
k:=k+1;
until (a=0) or (b=0);
write (a+b,' ',k)
end.
Объяснение:
Ввод чисел
Цикл с постусловием
Если a больше b, то заменяем a на остаток от деления на b, иначе заменяем b на остаток от деления на a
Увеличиваем k на 1 (считаем количество шагов цикла)
Заканчиваем цикл если a=0 или b=0
Выводим на экран НОД (сумму a+b, так как или a=0 или b=0, то их сумма это оставшееся число не равное 0) и количество шагов цикла (k)
program gg;
var x1, x2: integer;
begin
x1:=random(1000);
x2:=random(1000);
if x1 > x2 then
begin
x1:= x1*2;
x2:= x2 + 1
end
else
begin
x2:= x2*2;
x1:= x1 + 1
end;
end.