/*
http://blog.csdn.net/feliciafay/article/details/17238611
http://www.cnblogs.com/glorywu/p/5256968.html
*/
#include<bits/stdc++.h>
using namespace std;
class LM {
public:
string intToRoman(int num) {
string thousand[4] = {"", "M", "MM","MMM"};
string hundred[11] = {"", "C","CC","CCC","CD","D","DC","DCC","DCCC","CM"};
string ten[11] = {"", "X", "XX","XXX","XL","L","LX","LXX","LXXX","XC"};
string one[11] = {"", "I","II","III","IV","V","VI","VII","VIII","IX"};
string result = "";
string* trans[4] = {one, ten, hundred, thousand};
int index = 0;
while (num > 0) {
result = trans[index][num % 10] + result;
num = num / 10;
index++;
}
return result;
}
};
int main()
{
LM lm;
for(int i=1;i<1000;i++)
{
cout<<i<<" : "<<lm.intToRoman(i)<<endl;
}
return 0;
}