# Funktionen zur Fakultätsberechnung
#
# 4.3.2006

# iterative Fakultätsberechnung
function fakultaet()
{
  local erg
  if (($1 == 0 || $1 == 1))
  then
    echo 1
  else
    for ((erg = 2, i = 3; i <= $1; i++))
    do
      ((erg *= i))
    done
    echo $erg
  fi
}

# rekursive Fakultätsberechnung
#
# Sonderfälle:
#   0! = 1
#   1! = 1
# Sonst:
#   n! = n * (n-1)!
function fak_rek()
{
  if (($1 == 0 || $1 == 1))
  then
    echo 1
  else
    echo $(($1 * $(fak_rek $(($1 - 1)))))
  fi
}

