Найти НОД трех чисел - Pascal ABC
Формулировка задачи:
Дано 3 числа (а, в, с). Нужно найти нод (а,в), нод(в,с) и нод(а,с). А затем сравнить и вывести на экран самое большое нод.
Решение задачи: «Найти НОД трех чисел»
textual
Листинг программы
function nod(x, y: Integer): Integer; begin if x = 0 then nod := y else nod := nod(y mod x, x) end; var a, b, c, t, max: integer; begin write('Введите 3 числа (a, b, c): '); readln(a, b, c); max := nod(a, b); t := nod(b, c); if t > max then max := t; t := nod(a, c); if t > max then max := t; writeln(max); end.
Объяснение кода листинга программы
- В функции
nod
определены две переменныеx
иy
, которые являются целочисленными типами данных. - В условии
if x = 0 then
проверяется, равно ли значение переменнойx
нулю. Если это так, то значение переменнойnod
устанавливается равным значению переменнойy
. - В противном случае, когда значение
x
не равно нулю, функция вызывает саму себя, передавая в качестве аргументов остаток от деленияy
наx
иx
само по себе. - В переменной
max
хранится наибольший общий делитель из трех чиселa
,b
иc
. - В цикле
var
объявлены четыре переменныеa
,b
,c
иt
, которые также являются целочисленными типами данных. - С помощью функции
readln
считываются три числа от пользователя. - Значение переменной
max
устанавливается равным результату вызова функцииnod
с аргументамиa
иb
. - Затем, значение переменной
t
устанавливается равным результату вызова функцииnod
с аргументамиb
иc
. - Если значение
t
больше значенияmax
, то значениеmax
устанавливается равным значениюt
. - Затем, выполняется еще один вызов функции
nod
с аргументамиa
иc
, и если результат этого вызова больше значенияmax
, то значениеmax
снова устанавливается равным значениюt
. - В конце программы выводится значение переменной
max
, которое является наибольшим общим делителем из трех чиселa
,b
иc
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д