计蒜客——整数转化为罗马数字的一点体会:
首先想到的思路是单独一个一个的把输入的数字拆分开来,每一位对应的数字转化成罗马数字,建立{由于题目限制}(1-3999)四个数组分别代表unit、ten、hundred、thousands四个数组分别内部表示1-9每个数字,
char* String_thousand[3]={"M","MM","MMM"};
char* String_hundred[9]={"C","CC","CCC","CD","D","DC","DCC","DCCC","CM"};
char* String_ten[9]={"X","XX","XXX","XL","L","LX","LXX","LXXX","XC"};
char* String_unit[9]={"I","II","III","IV","V","VI","VII","VIII","IX"};
char* String_Temp=NULL;
然后就是将输入的数字拆分分别对应
thousand=num/1000;
hundred=num/100-10*(num/1000);
ten=num/10-10*(num/100);
unit=num%1000%100%10;
然后进行每位数字的判断。
其网上最优解法是用了一个二维数组代替
static

本文分享了在计蒜客平台中将整数转化为罗马数字的思路和方法,探讨了从直接拆分数字到使用二维数组优化的解决方案,主要针对1-3999的数字范围。
最低0.47元/天 解锁文章
1237

被折叠的 条评论
为什么被折叠?



