问题标签 [roman-numerals]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1246 浏览

math - 将罗马数字翻译成阿拉伯数字

我建立了一个谓词,它将罗马数字转换为阿拉伯数字。唯一的问题是谓词是有限的:如果我想一次转换超过 3 个阿拉伯数字,它就不再起作用了。

这就是谓词应该如何工作:

到目前为止我的解决方案:

我知道为什么谓词不能使用超过 3 个数字,我也可以扩展转换谓词,但使用与上图相同的模式。

如何使转换谓词更“通用”(以便它可以独立于数字数量工作)?或者您有其他想法如何编写谓词?谢谢 :)

0 投票
2 回答
411 浏览

java - Roman Numeral Checker(接受输入并检查罗马数字是否有效)(Java)

我希望得到一些帮助,如果你们想出一些我不知道的方式,请解释一下。

我确信使用巨大的 IF 或 SWITCH 可以做到这一点,但必须有更优化的方式。我在考虑分配值,然后制定一个算法来检查所有案例。

或者可能只是将第一个元素与它之后的元素进行比较,然后如果第一个小于第二个则减去,否则相加。

我确实计划使用数组

供你参考。

米1000

D 500

C 100

大号 50

X 10

V 5

我 1

0 投票
7 回答
1179 浏览

c# - 罗马数字减去不转换

可以减去罗马数字而不转换为十进制数字吗?

例如

X - III = VII

所以在输入中我有XIII。在输出中我有VII

我需要算法而不转换为十进制数。

现在我没有主意。

0 投票
1 回答
557 浏览

c++ - 在 C++ 中将罗马数字转换为标准数字

我正在尝试将罗马数字转换为 C++ 中的标准数字。我做了这样的数组:不幸的是我不知道如何检查罗马数字。因为让我们的 s 是:“MCLXIV”所以当我将通过它时,我将比较字符和“CM”或“IX”例如是字符串。

这是我的数组的声明

有任何想法吗?如果有任何帮助,我将不胜感激!

0 投票
1 回答
2021 浏览

python - 使用正则表达式将罗马数字更改为整数

我刚开始玩弄正则表达式。我查看了Google 的 Python regex howtoPython 的 regex howto以及其他类似的问题,例如将包含罗马数字的字符串转换为等效整数以及如何仅将有效的罗马数字与正则表达式匹配?,但我仍然很困惑。

我的代码:

最后两行来自第一个链接。我不完全理解regex = re.compiler...,想知道它是否真的将用户的罗马数字转换为整数?提前致谢

0 投票
1 回答
338 浏览

objective-c - Roman Numeral to Arabic

My function is part of a Roman Numeral to Arabic conversion function. It evaluates fine where there is a pair CM, a pair CD, where there is a single character C, and for all the combinations of CM, CD, M, D and C.

However, where the final character in a string is C (e.g. MCDCCC), the function crashes on the final 'C'. Ive put a stack of NSLog in there to trace the problem but I can't work out why its crashing on the final 'C'.

Any help welcome as Ive been trying to figure this out for a week. PS, Ive rewritten it as a switch function but Im getting the same kind of problem.

0 投票
2 回答
299 浏览

java - UVa 11616 Roman Numerals Time Limit Exceeded - 我一直收到 Time Limit Exceeded

我正在为通用编程实践解决一个关于 UVa 的问题,因为我想在有竞争力的编程方面做得更好。但是我遇到了这个问题 - 罗马数字。在这个问题中,目标是接受罗马数字或阿拉伯数字形式的输入,然后我必须从一个转换为另一个。根据网上的判断,我觉得我的代码处理速度应该没有问题,它处理速度不够快。我需要帮助找出如何优化我的代码,以便它运行得更快并且不接收 TLE。

以下是我的程序,任何帮助解释我为什么收到超出时间限制的任何帮助将不胜感激。提前致谢。

`

0 投票
1 回答
28 浏览

list - 从一个数字的各个值创建一个列表

我正在创建一种将阿拉伯数字转换为罗马数字的方法。如果要转换的阿拉伯数字是124我想创建一个List包含值 100、20 和 4 的列表。所以基本上我需要以某种方式找到 124 的以 10 为底的分解,并创建一个值列表。另一个示例:1,891 = 1,000 + 800 + 90 + 1,因此列表可能如下所示:`list = [1000, 800, 90, 1]。我希望这个解释不会太晦涩难懂,谢谢。

0 投票
1 回答
228 浏览

string - 将整数转换为单词和罗马数字

是否有将整数转换为字符串的库,以便将它们(整数)表示为单词?例如:

21 => “二十一”

我也有兴趣将整数转换为将它们表示为罗马数字的字符串:

21 => “二十一”

写这样的转换函数对我来说不是问题,但我不想重新发明轮子。

0 投票
3 回答
1739 浏览

c# - 正则表达式匹配写成单词、数字或罗马数字的数字

我正在尝试匹配一个写成单词、数字或罗马数字的数字。这是一堆样本

我在正则表达式方面很糟糕,这就是我到目前为止所得到的。

该语句捕获了第 1 章、第 2 章和第 3 章,但尝试将 IV 匹配为一个单词(我猜它与 FIVE 匹配?)。二十二 根本不匹配。

任何人都可以帮忙吗?这是完整的正则表达式

笔记:

这样做的目的是将这些文本表示形式转换为实际的整数。在每种情况下我都有方法可以做到这一点,所以我确实需要区分各种情况