python3 题解(41 罗马数字转换)

本文介绍如何利用Python编程将罗马数字转换为对应的整数值,特别讨论了罗马数字系统中没有零的特点,以及如何处理减法表示的数字如IV、IX等。通过枚举和事后修正的方法,实现了对于小于5000的正整数罗马数字的有效转换。
摘要由CSDN通过智能技术生成

罗马数字转换

【问题】因为宗教的原因,古罗马的数字表示体系中没有零。这使得简单的数值表示变得十分复杂,更不用说四则运算。
I 表示1,II表示2,III表示3,4不是用IIII,而是IV。接着是…
5是V,6是VI,7是VII,8是VIII,就是加法。但,9不是VIIII,而是IX,也就是10减1,X表示10
XI表示11,XII表示12,。。。。
逢五逢十都有一个固定的字母表示。它们还有:
L 代表50,C代表100,D代表500,M代表1000
4,40,400,9,90,900等用的是最近单位的减法。其它都是加法。
请编程,把一个罗马数字串转为它所表示的整数。(假设只转换小于5000的正整数)

分析:
当情况较少的时候,不用费力找规律,直接枚举就可以了。

### 罗马数字转换
### I II III IV V VI VII VIII IX X XI XII XIII XIV XV ....
### I(1)V(5)X(10)L(50)C(100)D(500)M(1000) 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值