• 罗马数字转化


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

    先看位置计数的定义::一种表达数字的系统,数位按照顺序排列 ,每个数位有一个位值,数字的值是每个数位和位值的乘积之和。——《计算机科学导论》p25

    罗马数字计数法

    1. 相同的数字连写,所表示的数等于这些数字相加得到的数,如 Ⅲ=3;

    2. 小的数字在大的数字的右边,所表示的数等于这些数字相加得到的数,如 Ⅷ=8、Ⅻ=12;

    3. 小的数字(限于 Ⅰ、X 和 C)在大的数字的左边,所表示的数等于大数减小数得到的数,如 Ⅳ=4、Ⅸ=9;

    4. 在一个数的上面画一条横线,表示这个数增值 1,000 倍,如

      img (参考:百度百科)

    罗马计数法不存在数位,不存在0,以上横线表倍数,不符合位置计数法定义。

    2.转化自己的8位学号

    2020 1322

    MMXX MCCCXXII

    3. python 转化

    参考:https://www.jb51.net/article/138306.htm

     比较惭愧,只是照打了沂水寒城这位作者的代码,甚至还砍掉了数字转罗马部分。对于一些语法,循环结构都没掌握。

    https://leetcode-cn.com/problems/roman-to-integer/solution/debugxiang-jie-pian-luo-ma-shu-zi-zhuan-zheng-shu-/

    在leetcode上发现了及其巧妙的一些解法。但看不懂。。。

     

     

     

  • 相关阅读:
    经典排序之 计数排序
    经典算法 总结
    经典排序之 二路归并排序
    经典排序之 堆排序
    经典排序之 插入排序
    经典排序之 冒泡排序
    经典排序之 选择排序
    经典排序之 快速排序
    两个队列实现一个栈
    Java Web系列:JDBC 基础
  • 原文地址:https://www.cnblogs.com/iris2333/p/13822677.html
Copyright © 2020-2023  润新知