Программа вычисления наибольшего общего делителя двух целых чисел - 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.
Объяснение кода листинга программы
- В программе объявлены две переменные n и m типа integer.
- Создана функция gcd, которая принимает два аргумента типа integer и возвращает наибольший общий делитель этих чисел.
- Внутри функции проверяется, является ли второе число больше первого. Если это так, то вызывается рекурсивно функция gcd для второго числа и результат присваивается переменной gcd.
- Если второе число равно нулю, то gcd присваивается значению первого числа.
- Если второе число не равно нулю, то gcd присваивается результату операции mod, где первое число берется по модулю второго числа.
- В основной части программы считываются два числа от пользователя и вызывается функция gcd для них.
- Результат выводится на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д