编程之战 第三十二章 罗马数字

小说:编程之战 作者:程序小猿 更新时间:2024-08-06 08:41:20 源网站:顶点小说
  又是一个新的篇章...

  西亚的美索不达米亚平原。

  在幼发拉底河和底格里斯河之间的宽广陆地上,一支来自欧洲罗马的商队正在缓缓前行。

  马车拖着的这些辎重中,有很多西欧宗教的书籍,档案。

  他们此行的目的地是巴格达城,去向来自世界各地的异教徒宣传上帝的福音。

  杨成身穿罗马主教服饰,侧卧在摇摇晃晃的马车中。

  他实在是太累了,一路上走过来都是昏昏沉沉的。

  上一个关卡的夜生活,扰乱了正常的作息时间...

  他此行的担子非常重,罗马教皇要求他将西方的文化传播过来。

  而这些任务中,首当其冲的便是罗马数字和阿拉伯数字的转换,毕竟这是做生意的基础。

  “作为一名中华男儿,罗马数字真是太陌生了”。

  杨成一屁股坐起来,感觉有些头疼。

  罗马数字中有一些很古怪的特性。

  首先,连写的数字重复不得超过三次。

  比方说要表示4,就不能是iiii,而应该是iv。

  然后呢,如果小的数字,它在大的数字的左边,那么它所表示的数等于大数减小数得到的数。

  比如:4=4;9=9。

  这两个奇怪的特性就让它比阿拉伯数字理解起来更费力。

  比方说“mdclxvi“,它用阿拉伯数字表示是1666。

  这是怎么得到的呢?

  “m”是1000,”d”是500,”c”代表100,”l”代表50,”x”代表10,”v”代表5,”i”代表1,它们加起来就是1666。

  所以转换的第一步,就是在常用的罗马数字和阿拉伯数字之间建立映射,整理一下,可以得到如下的映射表:

  m:1000,

  cm:900,

  d:500,

  cd:400,

  c:100,

  xc:90,

  l:50,

  xl:40,

  x:10,

  ix:9,

  v:5,

  iv:4,

  i:1

  有了这个对象映射关系,就可以在解析的过程中及时地作匹配,也很容易写出代码来。

  值得注意的一点,这个转化只能在几千的范围内进行,超出范围算法就失败了。

  不过,应付这种小规模的贸易,肯定是绰绰有余的。

  马车内,杨成专心致志地码着代码,无心关注两河流域肆虐的风沙。

  直到耳畔出现“叮”的系统音,他才抬起头,擦了擦汗水。

  那西亚世界的中心巴格达城很快出现在了天际,带着浓浓的历史气息。

  “叮!恭喜您完成了罗马数字转换的相关任务!”

  “当前积分67分,击败了全球29%的玩家,请您再接再厉!”
为更好的阅读体验,本站章节内容基于百度转码进行转码展示,如有问题请您到源站阅读, 转码声明
八零电子书邀请您进入最专业的小说搜索网站阅读编程之战,编程之战最新章节,编程之战 顶点小说!
可以使用回车、←→快捷键阅读
本站根据您的指令搜索各大小说站得到的链接列表,与本站立场无关
如果版权人认为在本站放置您的作品有损您的利益,请发邮件至,本站确认后将会立即删除。
Copyright©2018 八零电子书