欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > IT业 > Leetcode12-整数转罗马数字

Leetcode12-整数转罗马数字

2025/4/9 5:29:28 来源:https://blog.csdn.net/fantasyYXQ/article/details/146542677  浏览:    关键词:Leetcode12-整数转罗马数字

题目链接:12. 整数转罗马数字 - 力扣(LeetCode)

看题目限制输入1 <= num <= 3999,就直接用暴力法写了,还比较简单

代码:

char* intToRoman(int num) {char *res = (char*)malloc(100);int index = 0;int temp;temp = num / 1000;for (int i = 0; i < temp; i++) {res[index] = 'M';index++;}num = num % 1000;temp = num / 100;if (0 <= temp && temp <=3) {for (int i = 0; i < temp; i++) {res[index++] = 'C';}}if (temp == 4) {res[index++] = 'C';res[index++] = 'D';}if (5 <= temp && temp <= 8) {res[index++] = 'D';for (int i = 0; i < temp-5; i++) {res[index++] = 'C';}}if (temp == 9) {res[index++] = 'C';res[index++] = 'M';}num = num % 100;temp = num / 10;if (0 <= temp && temp <=3) {for (int i = 0; i < temp; i++) {res[index++] = 'X';}}if (temp == 4) {res[index++] = 'X';res[index++] = 'L';}if (5 <= temp && temp <= 8) {res[index++] = 'L';for (int i = 0; i < temp-5; i++) {res[index++] = 'X';}}if (temp == 9) {res[index++] = 'X';res[index++] = 'C';}temp = num % 10;if (0 <= temp && temp <=3) {for (int i = 0; i < temp; i++) {res[index++] = 'I';}}if (temp == 4) {res[index++] = 'I';res[index++] = 'V';}if (5 <= temp && temp <= 8) {res[index++] = 'V';for (int i = 0; i < temp-5; i++) {res[index++] = 'I';}}if (temp == 9) {res[index++] = 'I';res[index++] = 'X';}res[index] = '\0';return res;
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词