io_cesar.hs 346 B

12345678910111213141516
  1. -- Slide 58
  2. import Data.Char
  3. cechar n c = chr ((mod ((ord c) + n - ord 'a') ((ord 'z') - ord 'a' + 1)) + ord 'a')
  4. cesar n = map (cechar n)
  5. inlinecesar n s = map (chr.(+ ord 'a').(flip mod 26).(+ n).(subtract (ord 'a')).ord) s
  6. main::IO ()
  7. main = do
  8. n <- getLine
  9. s <- getLine
  10. putStrLn (cesar (read n) s)
  11. putStrLn (inlinecesar (read n) s)