diff --git a/Homework 1/hanoi.hs b/Homework 1/hanoi.hs new file mode 100644 index 0000000..17906dc --- /dev/null +++ b/Homework 1/hanoi.hs @@ -0,0 +1,13 @@ + +type Peg = String +type Move = (Peg, Peg) + +hanoi :: Integer -> Peg -> Peg -> Peg -> [Move] +hanoi 1 a b c = [(a, c)] +hanoi n a b c = concat [ + hanoi (n-1) a c b, + hanoi 1 a b c, + hanoi (n-1) b a c ] + + +