15
匹配罗马数字
挑战 给定一些输入字符串,如果它表示介于1(= I)和3999(= MMMCMXCIX)之间的正确罗马数字,则返回真实值,否则返回假值。 细节 输入是一个仅包含字符的非空字符串IVXLCDM。 罗马数字(我们在本次挑战中在此处使用)的定义如下: 我们仅使用以下符号: Symbol I V X L C D M Value 1 5 10 50 100 500 1000 要定义哪些字符串实际上是有效的罗马数字,可能最容易提供对话规则:写一个十进制数字a3 a2 a1 a0(每个ai数字代表一个数字。例如,表示792我们有a3=0, a2=7, a1=9, a0=2。)作为罗马数字,我们将其分解变成数十的力量。十的不同幂可以表示如下: 1-9: I, II, III, IV, V, VI, VII, VIII, IX 10-90: X, XX, XXX, XL, L, LX, LXX, LXXX, …