Improved project structure.

This commit is contained in:
2017-06-01 14:50:23 +02:00
parent 5e06b03248
commit 89f0d81598
25 changed files with 2 additions and 0 deletions

41
haskell/e017.hs Normal file
View File

@@ -0,0 +1,41 @@
toWord :: Int -> [Char]
toWord = toWord' . show
toWord' :: [Char] -> [Char]
toWord' ('0':[]) = ""
toWord' ('1':[]) = "one"
toWord' ('2':[]) = "two"
toWord' ('3':[]) = "three"
toWord' ('4':[]) = "four"
toWord' ('5':[]) = "five"
toWord' ('6':[]) = "six"
toWord' ('7':[]) = "seven"
toWord' ('8':[]) = "eight"
toWord' ('9':[]) = "nine"
toWord' ('1':'0':[]) = "ten"
toWord' ('1':'1':[]) = "eleven"
toWord' ('1':'2':[]) = "twelve"
toWord' ('1':'3':[]) = "thirteen"
toWord' ('1':'4':[]) = "fourteen"
toWord' ('1':'5':[]) = "fifteen"
toWord' ('1':'6':[]) = "sixteen"
toWord' ('1':'7':[]) = "seventeen"
toWord' ('1':'8':[]) = "eighteen"
toWord' ('1':'9':[]) = "nineteen"
toWord' ('2':c:[]) = "twenty" ++ toWord' (c:[])
toWord' ('3':c:[]) = "thirty" ++ toWord' (c:[])
toWord' ('4':c:[]) = "forty" ++ toWord' (c:[])
toWord' ('5':c:[]) = "fifty" ++ toWord' (c:[])
toWord' ('6':c:[]) = "sixty" ++ toWord' (c:[])
toWord' ('7':c:[]) = "seventy" ++ toWord' (c:[])
toWord' ('8':c:[]) = "eighty" ++ toWord' (c:[])
toWord' ('9':c:[]) = "ninety" ++ toWord' (c:[])
toWord' (h:'0':'0':[]) = (toWord' (h:[])) ++ "hundred"
toWord' (h:'0':s:[]) = (toWord' (h:[])) ++ "hundredand" ++ (toWord' (s:[]))
toWord' (h:d:s:[]) = (toWord' (h:[])) ++ "hundredand" ++ (toWord' (d:s:[]))
toWord' (k:'0':'0':'0':[]) = (toWord' (k:[])) ++ "thousand"
toWord' (k:h:d:s:[]) = (toWord' (k:[])) ++ "thousand" ++ toWord' (h:d:s:[])