首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

算法创作|罗马数字的转化

问题描述 罗马数字包含以下七种字符:I,V,X,L,C,D和M。...通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如4不写做IIII,而是IV。数字1在数字5的左边,所表示的数等于大数5减小数1得到的数值4。同样地,数字9表示为IX。...,首先要想到的便是字典,因为字典中的value和key的条件关系正好可以对于罗马数字字符的转化,这里就可以得到一组字典,那么再回到题目,仔细观察可以发现,每一个罗马字符所对应的数值都是正整数而且可以被5...整除(1除外),那么就可以思考,当输入一个数值过后,去把转化字符的过程中,是否可以通过整除的方式来进行转化,例如,当输入一个数值:21,自然它的罗马字符为XXI,仔细观察和思考,可以这么去思考它是被10...罗马数字的转化Python代码 num=int(input())dict_hs={1000:'M',900:'CM',500:'D',400:'CD',100:'C',90:'XC',50:'L',40

44110
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    PHP数字函数

    函数 说明 Rand($min,$max) 返回指定范围内的随机数 Mt_rand($min,$max) 返回指定范围内的随机数(推荐使用) 绝对值函数 函数 说明 Abs($number) 返回数字的绝对值...进一取整函数 取余函数 函数 说明 Fmod($x,$y) 取余函数(允许除数为0) 平方次方函数 函数 说明 Pow($base,$exp) 返回$base的$exp次方 Sqrt($number) 返回数字的平方根...Deg2rad($number) 角度转弧度 Sin($number) 返回参数的正弦值 Cos($number) 返回参数的余弦值 Tan($number) 返回参数的正切值 进制转换函数 函数 说明 二进制...: bin 八进制: oct 十进制: dec 十六进制: hex 函数 说明 Bindec($int) 二进制转十进制 decbin($int) 十进制转二进制 Octdec($int) 八进制转十进制...decoct($int) 十进制转八进制 Hexdec($int) 十六进制转十进制 dechex($int) 十进制转十六进制 二进制以0b开头 八进制以O开头 十六进制以0x开头 常量函数

    1.2K10

    【说站】python将数字转化为汉字

    python将数字转化为汉字 本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。 1、转换思路 (1)将整数和小数分开。 (2)把四位数变成大写汉字。...(3)把两个小数字转换成x角x分。 (4)重复,转人民币大写。... = {1: u'', 2: u'拾', 3: u'佰', 4: u'仟'}         self.xdict = {1: u'元', 2: u'万', 3: u'亿', 4: u'兆'}  # 数字标识符...'叁', 4: u'肆', 5: u'伍', 6: u'陆', 7: u'柒', 8: u'捌', 9: u'玖'}       def csplit(self, cdata):  # 拆分函数,将整数字符串拆分成..._name__ == '__main__':     pt = cnumber()     print(pt.cwchange('14524'))  # 壹万肆仟伍佰贰拾肆元整 以上就是python将数字转化为汉字的方法

    2.5K30

    十进制小数转化为二进制小数

    一、二进制数转换成十进制数 由二进制数转换成十进制数的基本做法是,把二进制数首先写成加权系数展开式,然后按十进制加法规则求和。这种做法称为”按权相加“法。...例如把二进制数 110.11 转换成十进制数。...十进制整数转换为二进制整数 十进制整数转换为二进制整数采用”除2取余,逆序排列“法。...例如把 (173)10 转换为二进制数。 解: 2.十进制小数转换为二进制小数 十进制小数转换成二进制小数采用”乘2取整,顺序排列”法。...然后把取出的整数部分按顺序排列起来,先取的整数作为二进制小数的高位有效位,后取的整数作为低位有效位。 例如把(0.8125)转换为二进制小数。

    2.4K20

    [LeetCode]Roman to Integer 罗马数字转化成整数 [LeetCode]Roman to Integer 罗马数字转化成整数

    翻译:将给定的罗马数字转化为整数,输入保证在1~3999之间 概念:什么是罗马数字?...一般认为罗马数字只用来记数,而不作演算。 重复数次:一个罗马数字重复几次,就表示这个数的几倍。 右加左减: 在较大的罗马数字的右边记上较小的罗马数字,表示大数字加小数字。...在较大的罗马数字的左边记上较小的罗马数字,表示大数字减小数字。 左减的数字有限制,仅限于I、X、C。比如45不可以写成VL,只能是XLV 但是,左减时不可跨越一个位值。...(等同于阿拉伯数字每位数字分别表示。) 左减数字必须为一位,比如8写成VIII,而非IIX。 右加数字不可连续超过三位,比如14写成XIV,而非XIIII。...——维基百科 tips: 3999范围内的罗马数字不会用到加上划线的字母 思路:从最后一个字符开始,如果当前字符对应的数字比上一个数字小,那么就把结果减去当前字符对应的数字,否则加上当前字符对应数字

    68710

    二进制和十进制的转换机制是什么?_转化成二进制

    一、十进制转换成二进制 1.1 正整数转二进制 要点:除二取余,倒序排列,高位补零。...1.2 负整数转二进制 方法:先将对应的正整数转换成二进制后,对二进制取反,然后对结果再加1。...然后把取的整数部分按先后次序排列,就构成了二进制小数部分的序列。 注: 如果小数的整数部分有大于0的整数时,将整数转换成二进制,小数转换成二进制,然后加在一起。...二、二进制转换成十进制 2.1 整数二进制转换为十进制 方法:首先将二进制数补齐位数,首位如果是0就代表是正整数,如果首位是1则代表是负整数。...若首位是0的正整数,补齐位数以后,将二进制中的位数分别与对应的值相乘,然后相加得到的就为十进制。 若二进制补足位数后首位为1时,就需要先取反再换算。

    1.1K30
    领券