V8/usr/src/cmd/sh/math.sh

pr(){
	echo $#
}
add(){
	echo $*
}
mul(){
	multmp=""
	for i in $1
	do
		multmp="$multmp $2"
	done
	echo $multmp
}
n(){
	echo `seq $1 | sed 's/.*/1/'`
}
sub(){
	echo $1 | sed 's/'"$2"'//;s/^ *//'
}
factorial(){
	case "$*" in
	""|"1")	echo 1
		;;
	*)	mul "$*" "`factorial \`sub \"$*\" 1\``"
	esac
}
fact(){
	pr `factorial \`n $1\``
}