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