計ニンニク客難題ライブラリ013整数をローマ数字に変換


1456回 32.4% 
 1000ms 
 65536K
整数numが与えられ(1<=num<=3999)、整数がローマ数字に変換される.
1,2,3,4,5に対応するローマ数字は,それぞれI,II,III,IV,Vなどである.
書式:
最初の行には整数を入力し、次に対応するローマ数字を出力します.
ヒント:
ローマ数字の常識はこのリンクを見て、問題を作るのに役立ちますよ~特に表現方法.
http://baike.baidu.com/link?url=injU8M4bAoc2zRZQ1GtgrfvuzCJO9PLnq6fpQGJLenakbzo-rS8p-qsYHR_81-aN

サンプル1
入力:
123

出力:
CXXIII
#include<iostream>
#include<string>
using namespace std;

int main(){
    int num[] = {   1,    4,   5,    9,  10,   40,  50,   90, 100,  400, 500,  900,1000};
    string s[] = {"I", "IV", "V", "IX", "X", "XL", "L", "XC", "C", "CD", "D", "CM", "M"};
    int n;
    cin >> n;
    string res;
    for(int i = 12; i >= 0; --i){
        while(n >= num[i]){
            n -= num[i];
            res += s[i];
        }
    }
    cout << res << endl;
}