MATLAB中将数字转换成罗马数字
按位计数法
通常我们所接触到的101010进制、222进制计数法都归属于按位计数法,通常来说,NNN进制计数法的特征有:
- 使用的数字有0,1,...,N−10,1,...,N-10,1,...,N−1,共NNN种;
- 从右往左分别为N0位,N1位,N2位……N^0位,N^1位,N^2位……N0位,N1位,N2位……
比如,对于NNN进制中的数字b0b1b2b3b4b_0b_1b_2b_3b_4b0b1b2b3b4,其组成为:
b0∗N4+b1∗N3+b2∗N2+b3∗N1+b4∗N0b_0*N^4+b_1*N^3+b_2*N^2+b_3*N^1+b_4*N^0b0∗N4+b1∗N3+b2∗N2+b3∗N1+b4∗N0
其中b0,b1,b2,b3,b4b_0,b_1,b_2,b_3,b_4b0,b1,b2,b3,b4是000到N−1N-1N−1中的数字。
不按位计数法
罗马计数法就是不按位计数法,并且我们在生活中也十分常见,它的主要特征有:
- 数位没有意义,只表示数字本身
- 没有0
- 使用M, CM, D,CD, C,XC,L,XL,X,IX,V,IV,I分别表示1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1
- 将并排的数字加起来就是我们要表示的数
比如十进制中的2008,使用罗马计数法表示就是MMVIII
MATLAB中将十进制数字转成罗马数字
这个任务其实很有意思,其结合了编程入门中“输出数字的每一位”这个问题与扩展字符串,利用MATLAB中字符串类型操作十分简便,代码如下:
function romStr = dec2rom(n)romStr = "";if n==0return;endstrTable = ["M", "CM", "D","CD", "C","XC","L","XL","X","IX","V","IV","I"];baseNumbers = [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1];for i = 1:length(strTable)t = floor(n/baseNumbers(i));if tfor j = 1:tromStr = romStr +strTable(i);endn = mod(n,baseNumbers(i));endend
end
>>dec2rom(n)
ans = "MMVIII"
参考:
程序员的数学/(日)结城浩著;管杰译. ——北京:人民邮电出版社,2012.
MATLAB中将数字转换成罗马数字相关推荐
- python中将数字转换成二进制数
python中将数字转换成二进制数 256 128 64 32 16 8 4 2 1 1 0 1 0 1 0 1 1 0 这是快速得到342的方法 在python3.6中快速得到342的方法是使用bi ...
- JavaScript练习 - 数字转换成罗马数字
摘要:以下数字转换成罗马数字的方法估计是最傻的办法了. 一.思路 (1)把数字拆分,把每个数字都存入数组arr中: (2)将数组arr中非0的数字存入新的数组arr1中: (3)把数组arr1中的每个 ...
- php数字转换汉字,如何在php中将数字转换成汉字
将php数字转换为汉字的实现方法:首先,创建一个PHP代码样本文件:然后定义一个"数字2中国"的方法:然后,通过方法体中的开关循环语句实现转换逻辑:最后,执行文件. 推荐:PHP教 ...
- python中将数字转换为字母_用python把数字转换成字母
方法一(普通方法): # -*- coding: utf-8 -*- #把数字转换成相应的字符,1-->'A' 27-->'AA' def changeNumToChar(toSmallC ...
- 利用Matlab将图片转换成素描(简笔画)风格
题目: 利用Matlab将图片转换成素描(简笔画)风格 记得曾经看过别人的网络头像,是那种类似简笔画或素描的图片,一直以来都想做一个类似的头像,但始终不得要领.今天当我看到文献[1]中的图5.28时( ...
- 把0到9的数字转换成电话按钮上的字母
问题 给定一个包含[0,9]中数字的整数数组,任务是打印所有可能的字母 数字可以表示的组合,数字到字母的映射(就像在电话按钮上)正在被跟踪,注意0和1不映射到任何字母.所有映射如下图所示: 写一个程序 ...
- oracle字符串转换浮点数,c#中将字符串转换成带2位小数的浮点数
今天遇到一个展示酒店价格的需求,觉得是要显示成"¥0.00"样式的,就做个小随笔,将字符串装换成带2位小数的浮点数 代码如下 string aaa = ""; ...
- 整型数字转换成罗马数字
版权声明:本文为博主原创文章,转载请注明出处. 个人博客地址:https://yangyuanlin.club 欢迎来踩~~~~ integer to roman Given an integer, ...
- html把数字转换成日期,表格中如何把数字改为日期 表格中打数字会变成日期是怎么回事?...
Excel 表格中如何把数字转换成时间? 如何在EXCEl中把数字变成日期格式 如何将EXCEL中的日期格式转换成数值型格式 学生出生年月原格式为1990-03-20现在想将它变成199003舍掉后面 ...
- Python将汉字数字转换成阿拉伯数字的方法
Python将汉字数字转换成阿拉伯数字的方法 - 玩蛇网 http://www.iplaypy.com/code/base/b2600.html 用Python语言来为不同数字之间做转换之前就有介绍过 ...
最新文章
- OpenCV和Python动手操作计算机视觉学习教程
- 罗格斯大学电气与计算机工程专业怎么样,美国电子工程排名 - 电子计算机工程的研究生教育,特别是偏向电路设计方向,请问是美国罗格斯大学新布朗斯维克校区好还是清华...
- Pytorch nn.Transformer的mask理解
- 英伟达一大波硬件来袭:今日GTC发布专业GPU与DPU,为收购ARM将在英国建超算
- html单张图片效果,jquery+html5实现单张图片上传预览
- win10开机密码忘记了的解锁教程
- docker rabbitmq_RabbitMQ的介绍及使用进阶(Docker+.Net Core)
- 转:ReLU激活函数:简单之美
- 2016二级c语言成绩查询,2016年12月计算机二级C语言测试及答案
- Ajax与jQuery异步加载数据
- 以太坊 事务处理流程
- 车牌号对应归属地及城市JSON带简码
- 外点惩罚函数法matlab程序例子,外点罚函数优化实例.doc
- kb888111音频补丁FOR XP SP2
- 小微个人网站如何接入免费短信验证码
- Erueka状态变更说明(十三)
- java编程:假定公鸡5元钱1只,母鸡3元钱1只,小鸡1元钱3只。现在有100元钱要求买100只鸡,请编程列出所有可能的购鸡方案。
- Android 2 时代到来了,敢为天下先是我等求知若渴的程序员的优秀品质
- [注]微信公众号的运营推广总结方案(持续更新)
- [内附完整源码和文档] 基于ThinkPhp框架的高校图书馆藏书借阅系统