空间复杂度:O(1),使用的内存量也不会随着输入的整数大小变化而变化,因此也是常量级别的 方法二、将千位,百位,十位与个位可能出现的罗马数字硬编码,然后对整数做整除和求余,取得千位,百位,十位,个位的整数数字,然后去找相应的罗马数字,将其拼接起来即可。 #include <stdio.h> #include <stdlib.h> #include <...
8 第八步:此时任意输入一个阿拉伯数字 9 第九步:点击回车键“Enter”就可以弹出相应的罗马数字
Problem: 12. 整数转罗马数字 目录思路解题方法复杂度Code 思路 暴力破解 + 转换 解题方法 由思路可知 复杂度 时间复杂度: $O(n)$ 空间复杂度: $O(1)$ Code char* intToRoman(int num) { char *s = (char*)malloc(
将罗马数字罗列到一个二维数组将罗马数字整十到一百整百到一千罗列到一个二维数组a10中将输入的数字将输入的数字n分别对100010010取余运算通过判断输入数字的大小和去与的大小找出随影罗马数字的位子通过判断输入数字的大小和去与的大小找出随影罗马数字的位子最后输出原来的数字和对应的罗马数字最后输出原来的数字和对应...
include <stdio.h>#include <string.h>int main(){ char* digits[10] = {"", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"}; char* tens[10] = {"", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "...
include<stdio.h> int main() { static char *a[][10]={"","I","II","III","IV","V","VI","VII","VIII","IX", "","X","XX","XXX","XL","L","LX","LXX","LXXX"
同样地,数字9表示为 IX。这个特殊的规则只适用于以下六种情况:o·I可以放在V(5)和X(10)的左边,来表示4和9。·X可以放在L(50)和C(100)的左边,来表示40和9O·C可以放在D(500)和M(1000)的左边,来表示400和900。给你一个整数,将其转为罗马数字。示例 1:输入:num =3输出:“III”示例 2:输入:...
在《百度百科中》,我知道了罗马数字共有7个,它们与我们常用的阿拉伯数字的关系如下:I代表1,V代表5,X代表10,L代表50,C代表100,D代表500,M代表1000。用罗马数字表示数有如下规则:①某个罗马数字重复几次代表的数就是那个罗马数字的几倍。如,XX表示“10×2=20”。②在一个较大的罗马数字的右边记上一个较小...
LeetCode 12 - 整数转罗马数字 - [简单模拟],题目链接:https://leetcode-cn.com/problems/integer-to-roman/题解:把$1,4,5,9,10,40,50,\cdots,900,1000$均看做档位,优先转化大的档位,直到不能转化为止,然后降一个档位,继续转化,反复如此直到$num=0