Fakultät-rekursive

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
#!/bin/bash
factorial() {
    local n="$1"

    # Abbruchbedingung: 0! und 1! sind 1
    if (( n <= 1 )); then
        echo 1
        return
    fi

    # Rekursiver Aufruf:
    # n! = n * (n-1)!
    local prev=$(factorial $((n - 1)))
    echo $((n * prev))
}