Найти НОД трёх чисел - 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

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

  1. В функции DECLARE FUNCTION NOD! (a!, b!) объявляется функция с именем NOD, которая принимает два аргумента a и b.
  2. В команде CLS очищается экран.
  3. В команде INPUT A,B,C =; a, b, c пользователю предлагается ввести три числа a, b и c.
  4. В команде PRINT NOD(a, NOD(b, c)) вызывается функция NOD с аргументами a, NOD(b, c).
  5. В функции FUNCTION NOD (a, b) определяется рекурсивная функция NOD для нахождения НОД трех чисел.
  6. В условии IF a = 0 OR b = 0 THEN проверяется, является ли одно из чисел равным нулю.
  7. Если условие истинно, то в команде NOD = a + b присваивается значение суммы a и b переменной NOD.
  8. Если условие ложно, то в условии IF a > b THEN проверяется, является ли a больше b.
  9. Если условие истинно, то в команде NOD = NOD(a MOD b, b) вызывается функция NOD с аргументами a MOD b и b.
  10. Если условие ложно, то в команде NOD = NOD(a, b MOD a) вызывается функция NOD с аргументами a и b MOD a.
  11. В команде END IF завершается условие IF.
  12. В команде END FUNCTION завершается определение функции NOD.

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


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

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

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