Advertisement
Guest User

Untitled

a guest
Mar 23rd, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.89 KB | None | 0 0
  1. convert(1999)
  2.  
  3. def convert(num: Int): Unit = {
  4. val l = toList(num)
  5. toRomanNumerals(l)
  6. println()
  7. println()
  8. }
  9.  
  10. def toRomanNumerals(nums : List[Int]): Unit ={
  11. if(nums.nonEmpty){
  12. print(toRomanNumeral(nums.length-1 , nums.head))
  13. toRomanNumerals(nums.tail)
  14. }
  15. }
  16.  
  17. def toRomanNumeral(tens: Int, digit: Int): String = {
  18. val (bot, middle, top) =
  19. if (tens == 0)
  20. ("I", "V", "X")
  21. else if (tens == 1)
  22. ("X", "L", "C")
  23. else if(tens == 2)
  24. ("C", "D", "M")
  25. else if(tens == 3)
  26. ("M", "?", "??")
  27.  
  28. digit match{
  29. case 1 => s"$bot"
  30. case 2 => s"$bot$bot"
  31. case 3 => s"$bot$bot$bot"
  32. case 4 => s"$bot$middle"
  33. case 5 => s"$middle"
  34. case 6 => s"$middle$bot"
  35. case 7 => s"$middle$bot$bot"
  36. case 8 => s"$middle$bot$bot$bot"
  37. case 9 => s"$bot$top"
  38. case _ => ""
  39. }
  40. }
  41.  
  42. def toList(num: Int): List[Int] = {
  43. num.toString.map(_.toString.toInt).toList
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement