お題
アラビア数字(arabic numerals)を受け取って,ローマ数字(roman numerals)を返すmethodを書きなさい1.
ローマ数字で使われる文字
| 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 |
| 16 | XVI = X + V + I |
| 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 |
発展
整数はInteger classです.hello classを参照して,Integer classを拡張して,
999.to_roman #=> CMXCIX
と返すようにしなさい.
参照文献
- source ~/git_hub/ruby_docs/chart_style_ruby/ex_roman_numerals.org
-
"初めてのプログラミング", Chris Pine (著), 西山 伸 (翻訳),オライリー・ジャパン (2006/7/24). ↩