Elektronika - baza wiedzy

Jak obliczyć n! (rekurencyjnie)?


int silnia (int n)
{
    if (n == 0)
       return 1;
    
    else
        return n*silnia(n-1);
}

Funkcja przyjmuje jako argument liczbę n, z której ma zostać wyliczona silnia. Z definicji wiadomo, że 0! = 1, więc pierwszy warunek sprawdza taką możliwość. W funkcji można także zaimplementować drugi warunek, który sprawdzi, czy n = 1 (1! = 1), ale nie jest to konieczne. Wynik działania funkcji można przekazać do zmiennej, lub wyświetlić na ekranie.