blob: c30812576c9fe94c1a5e5bd29fd24e3bf32a105a [file] [log] [blame]
# Towers of Hanoi in bash
#
# cribbed from the ksh93 book, example from exercises on page 85
#
# Chet Ramey
# chet@po.cwru.edu
hanoi() # n from to spare
{
typeset -i nm1=$1-1
((nm1>0)) && hanoi $nm1 $2 $4 $3
echo "Move disc $2 to $3"
((nm1>0)) && hanoi $nm1 $4 $3 $2
}
case $1 in
[1-9])
hanoi $1 1 2 3;;
*) echo "${0##*/}: Argument must be from 1 to 9"
exit 1;;
esac