1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
toChar n = (['0'..'9']++['A'..'Z']++['a'..'z'])!!n

toStr 0 _ = "0"
toStr n b = toStr' n b
    where
        toStr' 0 _ = ""
        toStr' n b = toStr' (n `div` b) b ++ [toChar (n `mod` b)]

main = do
    putStrLn $ toStr 0 10
    putStrLn $ toStr 255 2
    putStrLn $ toStr 255 10
    putStrLn $ toStr 255 16
    putStrLn $ toStr 255 32