Программа вычисления наибольшего общего делителя двух целых чисел - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Прошу помочь с задачей. Где у меня ошибка? Задача: напишите программу вычисления наибольшего общего делителя двух целых чисел 1. используйте оператор repeat, 2. используйте оператор while. 1.
2.

Решение задачи: «Программа вычисления наибольшего общего делителя двух целых чисел»

textual
Листинг программы
Program P17;
 
function gcd(n : integer; m : integer) : integer;
Begin
      if (m > n) then
         gcd:=gcd(m,n)
      else
         if m=0 then
            gcd:=n
         else
            gcd:=gcd(m,(n mod m));
End;
            
Var n,m : integer;
Begin
     write('n=');
     readln(n);
     write('m=');
     readln(m);
     writeln('gcd=',gcd(n,m));
End.

Объяснение кода листинга программы

  1. В программе объявлены две переменные n и m типа integer.
  2. Создана функция gcd, которая принимает два аргумента типа integer и возвращает наибольший общий делитель этих чисел.
  3. Внутри функции проверяется, является ли второе число больше первого. Если это так, то вызывается рекурсивно функция gcd для второго числа и результат присваивается переменной gcd.
  4. Если второе число равно нулю, то gcd присваивается значению первого числа.
  5. Если второе число не равно нулю, то gcd присваивается результату операции mod, где первое число берется по модулю второго числа.
  6. В основной части программы считываются два числа от пользователя и вызывается функция gcd для них.
  7. Результат выводится на экран.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.333 из 5
Похожие ответы