入力:
整数。
出力:
- 最初に整数を同等のローマ数字に変換します。
- 次に、そのローマ数字の各大文字をASCII / UNICODE 10進数値に変換します。
- そして、それらの合計を出力します。
例:
1991 -> MCMXCI -> 77+67+77+88+67+73 -> 449
^ input ^ output
ローマ数字:これは、おそらく便利なローマ数字コンバータです。
チャレンジルール:
- 標準のローマ数字の規則が適用されるため、and 。*のような、
IIII
またはVIIII
代わりの代替形式はありません。IV
IX
- 1,000を超えるローマ数字の上のマクロン線は
¯
(UNICODE nr。175)です。したがって、1行は+175
としてカウントされ、2 行はとしてカウントされ+350
ます。 - 整数を表す限り、あらゆる種類の入力および出力タイプを使用できます。
- テストケースはの範囲にあり
1 - 2,147,483,647
ます。
*ローマ数字の規則(Wikipediaからの引用):
番号は、シンボルを組み合わせて値を加算することで形成されるため
II
、2(2つ)とXIII
13(10と3つ)になります。各数字は10、100などの倍数を表すのではなく、位置に応じて固定値を持っているため、207や1066のような数字のようにゼロを「配置維持」する必要はありません。それらの数字は、CCVII
(200、5、2)とMLXVI
(1000、50、10、5、1)と書かれています。シンボルは、値の大きい順に左から右に配置されます。ただし、いくつかの特定のケースでは、4文字が連続して繰り返されるのを防ぐために(
IIII
またはなどXXXX
)、減算表記法が次のように使用されることがよくあります。
I
1つ前に配置されるV
かX
、1つ少ないことを示すため、4つはIV
(5つ未満)、9つはIX
(1つ未満)X
10の前L
またはC
10未満を示すため、40はXL
(50未満10)、90はXC
(100未満10)です。C
前に配置D
またはM
400であるので、より少ない百示すCD
(数百未満500)と九百であるCM
(数百未満千以上)
例えば、MCMIV
1904 1904である(M
千あるCM
れます九百IV
四です)。ローマ数字の近代的な使用のいくつかの例としては、
1954年のようにMCMLIV
、1990としてMCMXC
; SOURCEとして2014MMXIV
一般的なルール:
- これはcode-golfであるため、バイト単位の最短回答が優先されます。
コードゴルフ言語では、コードゴルフ以外の言語で回答を投稿しないようにしないでください。「任意の」プログラミング言語の可能な限り短い答えを考えてみてください。 - 回答には標準の規則が適用されるため、STDIN / STDOUT、適切なパラメーターを持つ関数/メソッド、完全なプログラムを使用できます。あなたの電話。
- デフォルトの抜け穴は禁止されています。
- 可能であれば、コードのテストへのリンクを追加してください。
- また、必要に応じて説明を追加してください。
テストケース:
100 -> 67
1 -> 73
4 -> 159
22 -> 322
5000 -> 261
2016 -> 401
1000000000 -> 427
1991 -> 449
9999 -> 800
1111111111 -> 2344
2147483647 -> 5362
9999
- > M(X)CMXCIX
- > 77+263+67+77+88+67+73+88
- > 800
と2147483647
- > ((MMCXLV)MMCDLXXX)MMMDCXLVII
- > 427+427+417+438+426+436 + 252+252+242+243+251+263+263+263 + 77+77+77+68+67+88+76+86+73+73
- > 5362
。だから私は2番目を修正しましたが、それ9999
は正しかったです。
2222222222
が指定された範囲内にありません。また、私も同意し5362
ます。