お題
アラビア数字(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). ↩