Найти НОД трёх чисел - QBasic
Формулировка задачи:
Найти НОД трёх чисел, используя рекурсивную функцию нахождения НОД двух чисел. Из трёх чисел найти пару чисел с максимальным НОД. (например, 25, 15, 45 НОД(25,15,45)=5, числа 15 и 45 имеют максимальный НОД=15)
Решение задачи: «Найти НОД трёх чисел»
textual
Листинг программы
DECLARE FUNCTION NOD! (a!, b!) CLS INPUT "A,B,C = "; a, b, c PRINT NOD(a, NOD(b, c)) END FUNCTION NOD (a, b) IF a = 0 OR b = 0 THEN NOD = a + b ELSE IF a > b THEN NOD = NOD(a MOD b, b) ELSE NOD = NOD(a, b MOD a) END IF END IF END FUNCTION
Объяснение кода листинга программы
- В функции DECLARE FUNCTION NOD! (a!, b!) объявляется функция с именем NOD, которая принимает два аргумента a и b.
- В команде CLS очищается экран.
- В команде INPUT
A,B,C =
; a, b, c пользователю предлагается ввести три числа a, b и c. - В команде PRINT NOD(a, NOD(b, c)) вызывается функция NOD с аргументами a, NOD(b, c).
- В функции FUNCTION NOD (a, b) определяется рекурсивная функция NOD для нахождения НОД трех чисел.
- В условии IF a = 0 OR b = 0 THEN проверяется, является ли одно из чисел равным нулю.
- Если условие истинно, то в команде NOD = a + b присваивается значение суммы a и b переменной NOD.
- Если условие ложно, то в условии IF a > b THEN проверяется, является ли a больше b.
- Если условие истинно, то в команде NOD = NOD(a MOD b, b) вызывается функция NOD с аргументами a MOD b и b.
- Если условие ложно, то в команде NOD = NOD(a, b MOD a) вызывается функция NOD с аргументами a и b MOD a.
- В команде END IF завершается условие IF.
- В команде END FUNCTION завершается определение функции NOD.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д