Рекурсия

Рекурсия — это возможность функции вызывать саму себя. При каждом вызове функции создается новый набор локальных переменных. Рекурсию удобно использовать для перебора объекта, имеющего заранее неизвестную структуру, или выполнения неопределенного количества операций. Типичным применением рекурсии является вычисление факториала числа (листинг 12.27).

Листинг 12.27. Вычисление факториала

#include <iostream>

unsigned long long factorial(unsigned long n);

int main() {
   for (unsigned i = 3; i < 11; ++i) {
      std::cout << i << "! = " << factorial(i) << std::endl;
   }
   return 0;
}
unsigned long long factorial(unsigned long n) {
   if (n <= 1) return 1;
   else return n * factorial(n - 1);
}

Результат выполнения:

3! = 6
4! = 24
5! = 120
6! = 720
7! = 5040
8! = 40320
9! = 362880
10! = 3628800

Учебник C++ (MinGW-W64)
Учебник C++ (MinGW-W64) в формате PDF

Помощь сайту

ЮMoney (Yandex-деньги): 410011140483022

ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов