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)
2fa{16} = 762{10}