Write a method that takes arabic numerals and returns roman numerals [^ pine].
| arabic numerals | roman numerals | 
|---|---|
| 1 | I | 
| 5 | V | 
| 10 | X | 
| 50 | L | 
| 100 | C | 
| 500 | D | 
| 1000 | M | 
| arabic numerals | roman numerals | 
|---|---|
| 1 | I | 
| 2 | II | 
| 4 | IV | 
| 5 | V | 
| 6 | VI | 
| 9 | IX | 
| 10 | X | 
| 11 | XI | 
| 14 | XIV | 
| 15 | XV | 
| 19 | XIX | 
| 38 | XXXVIII | 
| 42 | XLII | 
| 49 | XLIX | 
| 51 | LI | 
| 97 | XCVII | 
| 99 | XCIX | 
| 439 | CDXXXIX | 
| 483 | CDLXXXIII | 
| 499 | CDXCIX | 
| 732 | DCCXXXII | 
| 961 | CMLXI | 
| 999 | CMXCIX | 
| 1999 | 
# coding: utf-8
def romanize(number)
  a=[1000,900,500,400,100,90,50,40,10,9,5,4,1]
  r=["M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"]
  roman=[]
  number=number.to_i
  if (number > 0 and number < 4000) then
    for i in 0..12 do
      while number>=a[i] do
	roman.push(r[i])
	number-=a[i]
      end
    end
  else
    puts "Cannot be converted"
  end
  puts roman.join(' ')
end
puts "Please enter Arabic numerals"
n=gets
romanize(n)
Integers are Integer classes. Refer to hello class and extend Integer class to
999.to_roman #=> CMXCIX
Please return.
# coding: utf-8
def romanize(number)
  a=[1000,900,500,400,100,90,50,40,10,9,5,4,1]
  r=["M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"]
  roman=[]
  number=number.to_i
  if (number > 0 and number < 4000) then
    for i in 0..12 do
      while number>=a[i] do
	roman.push(r[i])
	number-=a[i]
      end
    end
  else
    puts "Cannot be converted"
  end
  puts roman.join(' ')
end
puts "Please enter Arabic numerals"
n=gets
romanize(n)
[^ pine]: "First Programming", Chris Pine (Author), Shin Nishiyama (Translation), O'Reilly Japan (2006/7/24).
Recommended Posts