gpt4 book ai didi

c - 罗马数字转字母

转载 作者:行者123 更新时间:2023-11-30 18:36:58 25 4
gpt4 key购买 nike

如何将罗马数字翻译或处理为文字中的十进制数字,反之亦然?我想在 C 中执行此操作。想法是获取数字或字母并对其进行处理。

这是一个例子:

MDXXIII = One thousand five hundred and twenty-three
One thousand five hundred and twenty-one = MDXXI

最佳答案

从十进制到罗马非常简单;反之则有点棘手。

罗马数字有几套规则;让我们看一下最常见的一个:

  • 五和十的倍数的符号是
    • 一个
    • V
    • X
    • L五十
    • C一百
    • D五百
    • M一千
  • 之间的值可以通过连接多个相同字符来完成
    • 两个
    • III
    • XX二十
    • XXX三十
  • 之间的值可以通过连接多个不同字符来完成
    • VI
    • IV
    • 十一十一
    • DI五十一
    • CX一百一十
    • XC九十
  • 某些组合是被禁止的,更好的是:只允许以下组合
    • ab 如果 a >= b(例如:IIVI)
    • ba 如果 5b = a10b = a(例如:IVXD, IX, XC)
  • 异常(exception)情况:
    • 有时,相同值的串联符号的最大数量为三个(例如:IIIIVXXXXD )或四个(例如:IIII 代替 IVXXXX 代替 XD),但绝不会或多或少。

提示:从一种碱基到另一种碱基的转换最好从数字的最小部分到最大部分进行。

关于c - 罗马数字转字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39060486/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com