даю 30 баллов. Наибольшим общим делителем (НОД) для двух целых чисел m и n называется наибольший из их общих делителей. Например, для чисел 70 и 105 наибольший общий делитель равен 35.
Вам заданы целые неотрицательные a и b (0 ≤ a,b ≤ 109). Напишите программу, которая выведет количество вычитаний при работе такого алгоритма и результат его работы.
Входные данные
Единственная строка входных данных содержит записанные через пробел целые числа a, b (0 ≤ a,b ≤ 109).
Выходные данные
Выведите количество вычитаний в ходе работы алгоритма и его результат через пробел.
вот мое решение но я не набираю все баллы значит ошибка есть помогите исправить
var a,b,k:longint; begin read(a,b); k:=1; // или (k:=0;) if (a=0) and (b=0) then k:=0 else while a<>b do begin if a>b then a:=a-b else b:=b-a ;inc(k); end; writeln(k);writeln(a);
А если а и б равны друг другу изначально, и при этом не нульТогда получается, что у тебя якобы 1 действие выполнилось, но на самом деле ничего не сделалось. Вот в этом возможно и есть ошибка