Пример поиска факториала неотрицательного целого числа (введенного пользователем) с помощью рекурсии.
Чтобы понять этот пример, вы должны знать следующие темы программирования на C ++:
- Функции C ++
- Типы пользовательских функций в C ++
- C ++ if, if… else и Nested if… else
- Рекурсия C ++
Эта программа берет положительное целое число от пользователя и вычисляет факториал этого числа. Предположим, пользователь вводит 6, тогда
Факториал будет равен 1 * 2 * 3 * 4 * 5 * 6 = 720
В этом примере вы научитесь находить факториал числа с помощью рекурсивной функции.
Посетите эту страницу, чтобы узнать, как использовать циклы для вычисления факториала.
Пример: вычисление факториала с использованием рекурсии
#include using namespace std; int factorial(int n); int main() ( int n; cout <> n; cout << "Factorial of " << n << " = " < 1) return n * factorial(n - 1); else return 1; )
Вывод
Введите положительное целое число: 6 Факториал 6 = 720.
В приведенной выше программе предположим, что пользователь вводит число 6. Число передается factorial()
функции.
В этой функции 6 умножается на факториал (6 - 1 = 5). Для этого в factorial()
функцию снова передается число 5 .
Аналогичным образом на следующей итерации 5 умножается на факториал (5 - 1 = 4). И 4 передается в factorial()
функцию.
Это продолжается до тех пор, пока значение не достигнет 1 и функция не вернет 1.
Теперь каждая функция возвращает значение для вычисления 1 * 2 * 3 * 4 * 5 * 6 = 720, которое возвращается main()
функции.