私はアルゴリズムに関して助けが必要です。ローマ字を10進数に変換できるプログラムのアルゴリズムを開発しなければならないという問題があります。ローマ字を10進数に変換できるプログラムのアルゴリズム
私はそれを行う方法がわかりませんが、完全なアルゴリズムを好むでしょうが、どんな助けにも感謝します。 プログラムではないアルゴリズムです!
私はアルゴリズムに関して助けが必要です。ローマ字を10進数に変換できるプログラムのアルゴリズムを開発しなければならないという問題があります。ローマ字を10進数に変換できるプログラムのアルゴリズム
私はそれを行う方法がわかりませんが、完全なアルゴリズムを好むでしょうが、どんな助けにも感謝します。 プログラムではないアルゴリズムです!
アイデアが開始する端からローマ数字の文字列をトラバースすることです。各文字について、対応する数字を結果に追加します。 'I'、 'X'、 'C'などの特殊な のケースでは、結果が対応する数値よりも大きいかどうかを確認します。はいの場合は、結果から数字 を減算する必要があります。いいえの場合は、数値を結果に追加する必要があります。例えば
res = 0
for each character c backwards:
if c =='I'
res += res + (res >= 5 ? -1 : 1)
else if c=='V'
res += res + 5
else if c=='X'
res += 10 * (res >= 50 ? -1 : 1)
else if c=='L'
res += 50;
else if c == 'C'
res += 100 * (res >= 500 ? -1 : 1)
else if c== 'D'
res += 500
else if c=='M'
res += 1000
return res
:MMDCCCXCIX
= 0 + MMDCCCXCIX
= 10 + MMDCCCXCI
= 9 + MMDCCCXC(> 5 10など)
= 109 + MMDCCCX
= 99 + MMDCCC(109> 50として)
= 199 + MMDCC
= 299 + MMDC
= 399 + MMD
= 899 + MM
= 1899 + M
= 2899
ありがとうございます。しかし、変数の略語を教えてください。 –
whats "res"など。 –
@HaXnainNoOrani resは結果であり、cは反復処理されるローマ数字の現在の文字です。 – errorist
ことだろうあなたがこれを行うと思われるプログラミング言語を – whitebrow
で言えば助けてください。しかし、そのアルゴリズムは –