http://oj.leetcode.com/problems/integer-to-roman/
class Solution {
public:
string intToRoman(int num, int pos){
char *cc="IVXLCDM ";
string res;
char a=cc[pos*2],b=cc[pos*2+1],c=cc[pos*2+2];
if(num<=3){
for(int i=0;i<num;i++) res.push_back(a);
}
else if(num==4) {
res.push_back(a);
res.push_back(b);
}
else if(num<=8){
res.push_back(b);
for(int i=0;i<num-5;i++) res.push_back(a);
}
else if(num==9){
res.push_back(a);
res.push_back(c);
}
return res;
}
string intToRoman(int num) {
// Note: The Solution object is instantiated only once and is reused by each test case.
int len=0;
int numTmp=num;
while(numTmp!=0) {numTmp/=10;len++;}
vector<string> res;
for(int i=0;i<len;i++){
res.push_back(intToRoman(num%10,i));
num/=10;
}
string output;
for(int i=res.size()-1;i>=0;i--) output+=res[i];
return output;
}
};