#!/bin/sh # # # Author: Bernhard Kuehl # Universitaet Osnabrueck # Thu May 29 17:28:54 MET DST 1997 # File: calcFak # Description: Berechnet n! # Achtung: funktioniert bis 13! (long?) # PATH=/usr/local/gnu/bin export PATH # usage-Meldung usage () { echo usage: `basename $0` \ } # Anzahl Argumente if [ $# != 1 -o -z "$1" ] then usage exit 1; fi # enthaelt $1 Zeichen nicht aus [0-9]? expr match "$1" '.*[^0-9]' >/dev/null if [ $? = 0 ] then usage exit 1; fi # 0! oder 1! ist 1 if [ $1 -lt 2 ] then echo $1! = 1 exit 0 fi # berechne $1! n=1 jog=2 while(true) do n=`expr $n \* $jog` jog=`expr $jog + 1` if [ $jog -gt $1 ] # Ende erreicht? then break fi done echo $1! = $n exit 0