Podręcznik

6. Funkcje

6.6. Funkcje rekurencyjne.

Rekurencja w C++ to technika programowania, która polega na definiowaniu funkcji, która wywołuje samą siebie w celu rozwiązania problemu. Rekurencja jest często stosowana do rozwiązywania problemów, które można podzielić na mniejsze podproblemy o tym samym charakterze. W C++ można implementować rekurencję zarówno dla funkcji prostych, jak i bardziej złożonych algorytmów, takich jak sortowanie czy przeszukiwanie.

Jednym z klasycznych przykładów rekurencji jest obliczanie silni liczby całkowitej.

#include <iostream>

// Funkcja rekurencyjna do obliczania silni
int silnia(int n) {
    if (n <= 1) { // Warunek zakończenia
        return 1;
    }
    return n * silnia(n - 1); // Wywołanie rekurencyjne
}

int main() {
    int n;
    std::cout << "Podaj liczbę do obliczenia silni: ";
    std::cin >> n;

    std::cout << "Silnia " << n << " wynosi: " << silnia( n ) << std::endl;

    return 0;
}