首页 > 其他分享 >阿拉伯数字转换罗马数字

阿拉伯数字转换罗马数字

时间:2023-10-20 19:44:06浏览次数:31  
标签:表示 转换 数字 符号 阿拉伯数字 IV 罗马数字

阿拉伯数字转换成罗马数字

目录

百科资料索引

罗马数字

罗马数字是阿拉伯数字传入之前使用的一种数码。其采用七个罗马字母作数字、即Ⅰ(1)、X(10)、C(100)、M(1000)、V(5)、L(50)、D(500)
具体来讲,罗马数字的基本规则有以下4条:

  • 重复次数:一个数字重复多少次,所表示的数字就是这个罗马数字的多少倍;一个罗马数字最多重复三次。这条规则该怎么理解呢?第一点,I、II、III分别表示1、2、3;第二点,4必须被表示为IV,而不是IIII。关于4的表示方法,在历史上一直存在争议,一种观点认为IIII这种写法占用书写空间,IV可以达到简化书写的作用;而一种观点则认为IV有亵渎神灵朱庇特、含不敬侮辱之意。
  • 左减原则:当一个较小的数字被放在一个较大数字的左边时,所表示的数字等于这个大数减去这个小数,且左边最多只能放一个较小的数字。联系第一条原则,IV表示的实际上是V-I,所以这个数值表示4;同理,9为了满足第一条原则,必须被表示成IX。
  • 右加原则:当一个较小的数字被放在一个较大数字的右边时,所表示的数字等于这个大数加上这个小数,且右边最多只能放一个较小的数字。这一条原则和第二条原则相对应,例如11会被表示成XI、21会被表示为XXI,以此类推。
  • 搭配原则:I只能被放在V和X的左边;X只能被放在L和C的左边;C只能被放在D和M的左边;V、L、D不能被放在左边。这一条可以看作对是第二条的总结,所以没有什么可说的。

阿拉伯数字

阿拉伯数字由0,1,2,3,4,5,6,7,8,9共十个计数符号组成。采取位值法,高位在左,低位在右,从左往右书写。借助一些简单的数学符号(小数点、负号、百分号等),这个系统可以明确的表示所有的有理数。为了表示极大或极小的数字,人们在阿拉伯数字的基础上创造了科学记数法。

云班课作业解决

1. 罗马数字是位置计数吗?它的缺点是什么?

罗马数字不是位置计数法,而是一种记数符号。在罗马数字中,不同的符号代表不同的数值,符号的顺序和组合方式也会影响最终的数值。相比于位置计数法,罗马数字的优势是更加灵活,可以表示更加复杂的数值。

然而,罗马数字也存在一些缺点。首先,罗马数字的符号并不是线性增长的,例如从1到10需要使用4个不同的符号,而从10到100需要使用8个不同的符号,这增加了书写和阅读的难度。其次,罗马数字并不适合进行数学运算,因为运用罗马数字进行加减乘除非常繁琐。最后,罗马数字很少出现在现代书写和计数系统中,因为它已经被阿拉伯数字所取代,因为阿拉伯数字更加简便和实用。

2. 把你的8位学号(20181xxx)转化成罗马数字

由于罗马数字自身的局限性,其最大能表示的数字是 MMMCMXCIX (3999)因此,我们的八位学号可以拆成两部分。
MMXXIII MCCCXXVI

3. 参考上面的博客,用Pyhton写一个罗马数字转化为阿拉伯数字的程序,并验证上面你的学号对不对

标签:表示,转换,数字,符号,阿拉伯数字,IV,罗马数字
From: https://www.cnblogs.com/gisliw/p/17777717.html

相关文章

  • P5704 【深基2.例6】字母转换
    1.题目介绍2.题解2.1ASCII码表在ASCII码表中,小写字母=大写字母+32,则大写字母=小写字母-32#include<iostream>usingnamespacestd;intmain(){ chara;//创建字符型变量 cin>>a;//小写输入 cout<<char(a-32);//注意要用char进行强制转换,否则输出的就是整......
  • 如何使用 GoGoCode 一键 Vue2 转换 Vue3
    前言从今年年初开始,项目开始升级优化,将之前的Vue2旧版本整体升级到Vue3版本。在重写了几个Vue文件后,我发现做的都是一些机械性的工作,效率低且重复性大。于是就试着搜索了一下有没有什么能够批量转换代码格式的工具,发现了阿里的这个基于AST的JavaScript/Typescript/HTML......
  • C++类型转换
    C++类型转换1.const_castconst_cast可以将const转换成非const,也可以将非const转换成const。需要注意的是const_cast只能用于改变指针或者引用的底层const。底层const和顶层const首先要弄清楚const修饰的到底是谁,用顶层表示指针本身是个常量(指针常量),底层表示指针所指向的对......
  • 脚注转换为尾注;尾注格式的更改
    脚注更改为尾注步骤:打开word点击引用脚注(打开脚注模块右下角,见图1)点击尾注将编号格式改为1,2,3,...点击应用点击脚注点击转换关闭图2显示框图1:图2:尾注格式更改(改为[1],[2],[3],...Ctrl+H唤出替换页面,macos快捷键自行查找。具体替换方法见新浪博客。......
  • 罗马数字
    问题一罗马数字不是位置计数。我认为它的缺点有以下三点:1,没有表示零的符号。2,不能直接用于计算。3,表示数字麻烦。问题二MMCCIIIMCCCXII(20231312)问题三......
  • 将new Date获取到的时间转换格式
    1.定义方法fDate(t1,format='YYYY-MM-DDHH:mm:ss'){constconfig={YYYY:t1.getFullYear(),MM:(t1.getMonth()+1).toString().padStart(2,'0'),DD:t1.getDate().toString().padStart(2,'0'),......
  • xStream完美转换XML、JSON
    xStream框架xStream可以轻易的将Java对象和xml文档相互转换,而且可以修改某个特定的属性和节点名称,而且也支持json的转换;前面有介绍过json-lib这个框架,在线博文:以及Jackson这个框架,在线博文:它们都完美支持JSON,但是对xml的支持还不是很好。一定程度上限制了对Java对象的描述,不能让xml......
  • numpy的数据类型转换和数组广播
    numpy对象的常用属性第一种方法装好python,然后打开终端输入pipinstalljupyter(如果觉得速度慢可以加上镜像站-ihttps://pypi.douban.com/simple/),然后再输入pipinstallnotebook(这里和前面一样,觉得慢就加镜像),打开在终端输入jupyternotebook。另一种方法就是去anacond......
  • 力扣12.整数转罗马数字
    罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符数值I1V5X10L50C100D500M1000例如,罗马数字2写做 II ,即为两个并列的1。12写做 XII ,即为 X + I......
  • 将数组转换为ArrayList
    内容来自DOChttps://q.houxu6.top/?s=将数组转换为ArrayList给定一个类型为Element[]的数组:Element[]array={newElement(1),newElement(2),newElement(3)};如何将这个数组转换为类型为ArrayList<Element>的对象?ArrayList<Element>arrayList=???;将数组转......