お題:アラビア数字・ローマ数字変換
プログラミングお題の一覧はこちら
※みなさんもこのお題をお気に入りの言語で解いてみて下さい。解いたらこの記事にトラックバックをお願いします。
説明
アラビア数字 <=> ローマ数字変換を行う関数、arabicToRoman および romanToArabic を実装せよ。 条件) ・ローマ数字の表記法についてはローマ数字 - Wikipediaを参考にすること。 ・ローマ数字は半角英「I,V,X,L,C,D,M,i,v,x,l,c,d,m」のみ使用した文字列とし、それ以外はエラーとする。 ・アラビア数字は整数 1 から 3999 のみ使用するものとし、それ以外はエラーとする。 変換例) 11 <=> XI 12 <=> XII 14 <=> XIV 18 <=> XVIII 24 <=> XXIV 43 <=> XLIII 99 <=> XCIX 495 <=> CDXCV 1888 <=> MDCCCLXXXVIII 1945 <=> MCMXLV 3999 <=> MMMCMXCIX コードサンプル) arabicToRoman(11) => "XI" romanToArabic("MDCCCLXXXVIII") => 1888 romanToArabic("mdccclxxxviii") => 1888 romanToArabic("McmXLv") => 1945 arabicToRoman(0) => エラー romanToArabic("A") => エラー