代码之家  ›  专栏  ›  技术社区  ›  psihodelia

整数的罗马表示法[副本]

  •  1
  • psihodelia  · 技术社区  · 14 年前

    可能重复:
    How do you find a roman numeral equivalent of an integer

    我正在寻找一个简单的算法(最好是在Python中)。如何将给定的整数转换为罗马数?

    string Roman(int Num){...}
    

    5 回复  |  直到 8 年前
        1
  •  3
  •   dsimcha    14 年前

    我需要相反的一次(从罗马数字到 int Wikipedia 有令人惊讶的罗马数字如何工作的详细信息。一旦您意识到事情已经定义得很好了,而且规范也很容易获得,那么将它转换成代码就相当简单了。

        2
  •  1
  •   anon anon    14 年前

    下面是一个冗长的解释,说明如何在附加了大量源代码的情况下执行此操作:

    http://www.faqs.org/docs/javap/c9/ex-9-3-answer.html

    但我认为这样做会更有效率。

        3
  •  1
  •   Topher Fangio    14 年前

    看看这里的密码 ActiveState link

        4
  •  1
  •   mR_fr0g    14 年前

    我想不出第三方图书馆有这种功能。有时候你必须自己写一些东西,尽管网上有很多这样做的例子。这是一个来自 RoseIndia

        5
  •  0
  •   CashCow    14 年前

    对于百、十和单位,规则几乎是一样的,即你有一个1、5和10个字符,每个字符的表示都是一样的,只是字母会改变。

    您可以有一个包含10个表示模板的条目的表 0个- 1=U型 3=UUU 4=超滤 5=F 7=福 8=福乌 9=超声波探伤

    现在你的桌子上也有几十个和几百个单位: 单位=IVX 十位数=XLC

    将数字模板应用于字母表示法,使U替换为第一个字符,F替换为第二个字符,T替换为第三个字符。

    千分之一只是千分之一。

    从千开始,然后是百,然后是十,最后是单位。

    如果你是反向构建的,当然你可以从单元modding by 10开始,然后构建你的单元字符串,除以10,再次mod,然后移到十个字符串,用几百个字符串重复,当你得到上千个字符串时,你就会知道你的字符串只有一个字符,即M。