額は、貪欲2を取り付けましたか?
これは、局所最適化問題:大小を使用することはありません「の数は、ローマが示す」を使用します。
まず、すべての基礎構築、その後の比較を降順、ローマ数字を
比較が唯一1000,900ですので、...限られており、いくつかの問題、構築テーブルマップ<整数、文字列>
次に、キーの昇順にソートマップのデフォルトのインストール値 ..
私は、小さなに大きな考えるreverse_iterator
クラス解決{ パブリック: 文字列 intToRoman(INT NUM){ マップ < 整数、文字列 > CALC = {{ 1000年、" M " }、{ 900、" CM " }、{ 500、" D " }、{ 400、" CD " }、{ 100、" C " }、{ 90、" XC " }、{ 50、"L " }、{ 40、" XL " }、{ 10、" X " }、{ 9、" IX " }、{ 5、" V " }、{ 4、" IV " }、{ 1、" I " }}; マップ < int型、文字列 > :: reverse_iteratorのITER = calc.rbegin(); 文字列RET; しばらく!(ITER = CALC。得られます()) { もし(NUM> = iter-> 最初の) { RET + = iter-> 第二; NUM - = iter-> まず、 } 他の ITER ++ ; } 戻りRET。 } }。