Составить программу определения наибольшего общего делителя двух неотрицательных чисел НОД (a, b) по алгоритму Евклида. - Pascal
Формулировка задачи:
Доброго времени суток. Есть такая вот задачка:
Составить программу определения наибольшего общего делителя двух неотрицательных
чисел НОД (a, b) по алгоритму Евклида. Если a=b, то НОД (a, b) = a или НОД (a, b) = b,
иначе, если a>b, то НОД (a, b) = НОД (ab, b), иначе НОД (a, b) = НОД (a, ba). Последнее
действие выполняется до тех пор, пока a не станет равным b.
есть ли у кого ни будь исходники? наверника уже решалась не однократно))
или может, подскажите как она решается...
Решение задачи: «Составить программу определения наибольшего общего делителя двух неотрицательных чисел НОД (a, b) по алгоритму Евклида.»
textual
Листинг программы
Nod(aa,bb) := aa or Nod(aa,bb) := bb;
Объяснение кода листинга программы
- Создается функция с именем
Nod
, которая принимает два аргумента типаInteger
(aa и bb). - В первой строке функции происходит проверка: если aa равно bb, то возвращается значение aa.
- Если aa не равно bb, то вызывается рекурсивно функция
Nod
с аргументами aa и bb. - Если результат рекурсивного вызова равен aa, то возвращается значение aa.
- Если результат рекурсивного вызова не равен aa, то возвращается значение bb.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д