Предмет: Информатика, автор: abaranci

даю 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);

end.

Приложения:

Ответы

Автор ответа: Tracker
0
А если а и б равны друг другу изначально, и при этом не нуль
Тогда получается, что у тебя якобы 1 действие выполнилось, но на самом деле ничего не сделалось. Вот в этом возможно и есть ошибка
Похожие вопросы
Предмет: История, автор: Аноним