• даю 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.

    question img

Ответы 1

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

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years