PROTO INT hanoi(n,delatour,alatour,parlatour)

FUNC VOID main()
{
  INT ndisque,a

  ndisque := 3
  PRINT "\n Hanoi avec ", ndisque, " disques\n\n"
  a := hanoi(ndisque,1,3,2)

  ndisque := 4
  PRINT "\n\nHanoi avec ", ndisque, " disques\n\n"
  a := hanoi(ndisque,1,3,2)
}


FUNC INT hanoi(n,delatour,alatour,parlatour)
{
  INT b
  IF n
  THEN
  {
    b := hanoi( n-1, delatour, parlatour, alatour )
    PRINT "Deplacer un disque de ",delatour," a ",alatour,"\n"
    b := hanoi( n-1, parlatour, alatour, delatour )
  }
  FI
  RETURN 1
}

