
28 Mar
2014
28 Mar
'14
7:10 p.m.
OK, I'm really stuck now. This gives "out of memory" and doesn't print anything other than the first line of output. == source code == module Main ( main ) where solve n src dest tmp = do solve (n-1) src tmp dest solve 1 src dest tmp solve (n-1) tmp dest src solve 1 src dest _ = putStrLn ("move a disk from " ++ src ++ " to " ++ dest) main = do putStrLn "Towers of Hanoi problem" solve 5 "A" "B" "C" == end == Each recursive call is either 1 or (n-1) so it should count down 5,4,3,2,1 and stop the recursion. What am I missing?