Advertisement
t_a_w

Roman to number and back

Nov 6th, 2016
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 0.60 KB | None | 0 0
  1. def number_to_roman(number)
  2.  romanValue = ""
  3.  
  4.     numbers = [
  5.       [1000, "M"],
  6.       [900, "CM"],
  7.       [500, "D"],
  8.       [100, "C"],
  9.       [90, "XC"],
  10.       [50, "L"],
  11.       [10, "X"],
  12.       [9, "IX"],
  13.       [5, "V"],
  14.       [4, "IV"],
  15.       [1, "I"]
  16.     ]
  17.  
  18.     numbers.each do |arabic, roman|
  19.       while number >= arabic
  20.         romanValue << roman
  21.         number -= arabic
  22.       end
  23.     end
  24.     romanValue
  25. end
  26.  
  27. def roman_to_number(roman_number)
  28.   (0..10000).each do |number|
  29.     return number if roman_number == number_to_roman(number)
  30.   end
  31. end
  32.  
  33. p roman_to_number("MCMXCIV")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement