题目:
分析:思路不错,一个函数用了3次,还是一道简单题。
代码:
class Solution {
public:
string
f(char c1
,char c2
,char c3
,int n
)
{
string s
="";
if(n
==0) return s
;
if(n
==9)
{
s
+=c1
;s
+=c3
;return s
;
}
if(n
==4)
{
s
+=c1
;s
+=c2
;return s
;
}
if(n
==5)
{
s
+=c2
;return s
;
}
if(n
>5)
{
s
+=c2
;
n
=n
-5;
}
for(int i
=0;i
<n
;i
++) s
+=c1
;
return s
;
}
string
intToRoman(int num
) {
string s
="";
int c
=num
/1000;
while(c
)
{
c
--;
s
+='M';
}
num
=num
%1000;
c
=num
/100;
num
=num
%100;
s
+=f('C','D','M',c
);
c
=num
/10;
num
=num
%10;
s
+=f('X','L','C',c
);
s
+=f('I','V','X',num
);
return s
;
}
};
转载请注明原文地址: https://lol.8miu.com/read-22927.html