Ми визначаємо функцію FACTUAL згідно з математичним визначенням – для всіх n, більших за нуль, ми знову викликаємо функцію з параметром n-1. Визначаємо найбільший спільний дільник НОД двох чисел, тобто найбільше можливе число, яке ділить обидва числа..
Є рекурсія метод вирішення проблем, який використовує рішення інших проблем. Його унікальність полягає в тому, що за «іншими проблемами» стоїть справжня проблема, але розв’язана для різних розмірів тих самих даних. Прикладом може бути обчислення факторіала числа.
У функції факторіалу нам доводиться робити багато повторюваних викликів функцій. У цьому прикладі рекурсивна умова буде n*факторіал(n-1); факторіал — це назва функції, а значення n — 5. Спочатку в цій функції 5 буде помножено на факторіал (5-1), а потім 4 буде передано функції.
Класичним прикладом рекурсивної функції є факторіальна функція, яка для натуральних чисел, більших за нуль, визначається так: n! = n* (n-1)!, де знак ! (знак оклику) факторний символ.
Факторіал (позначається як n!) такий добуток послідовних натуральних чисел від 1 до n. Це суто математичне поняття, але воно часто зустрічається в завданнях з ІТ та на випускному іспиті.
Рекурсія – це метод C++, який викликає сам себе неодноразово, доки не буде виконано задану умову . Рекурсивна функція має базовий випадок і рекурсивну умову та викликається кілька разів у межах однієї функції, прямо чи опосередковано.
Це рекурсія ситуація, в якій функція (або в нашому випадку метод) викликає себе для вирішення певної проблеми – отже, м. ін Є відомий вислів: щоб зрозуміти рекурсію, ви повинні зрозуміти рекурсію.