dropLastDigit.hs
{- Drop last digit -} dropLastDigit :: Integer -> Integer dropLastDigit num | (num < 0) = (-1) * (dropLastDigit ((-1) * num)) | otherwise = processNum (num `div` 10) 0 {- Return the last digit of a number -} getLastDigit :: Integer -> Integer getLastDigit num | (num < 0) = ((-1) * num) `rem` 10 | otherwise = num `rem` 10 processNum num temp | (num==0) = 0 | otherwise = ((getLastDigit num) * (10 ^ temp)) + processNum (num `div` 10) (temp+1)
*Main> :load dropLastDigit.hs [1 of 1] Compiling Main ( dropLastDigit.hs, interpreted ) Ok, modules loaded: Main. *Main> *Main> dropLastDigit 51 5 *Main> *Main> dropLastDigit 5 0 *Main> *Main> dropLastDigit (-15) -1 *Main> dropLastDigit (-15234) -1523
No comments:
Post a Comment