Algorithm 一种罗马到十进制转换程序的算法
我需要一些关于算法的帮助,我附加了一个问题,其中说我必须为一个可以将罗马转换为十进制的程序开发一个算法 我不知道怎么做,希望有一个完整的算法,但任何帮助是感激的。 这是一个算法,不是一个程序Algorithm 一种罗马到十进制转换程序的算法,algorithm,Algorithm,我需要一些关于算法的帮助,我附加了一个问题,其中说我必须为一个可以将罗马转换为十进制的程序开发一个算法 我不知道怎么做,希望有一个完整的算法,但任何帮助是感激的。 这是一个算法,不是一个程序 这个想法是将罗马数字字符串从头到尾遍历。对于每个字符,将相应的数字添加到结果中。为了一些特殊的 案例,如“I”、“X”、“C”,检查结果是否大于相应的数字。如果是,我们需要减去这个数字 从结果来看。如果没有,我们需要将数字添加到结果中 res = 0 for each character c backwar
这个想法是将罗马数字字符串从头到尾遍历。对于每个字符,将相应的数字添加到结果中。为了一些特殊的 案例,如“I”、“X”、“C”,检查结果是否大于相应的数字。如果是,我们需要减去这个数字 从结果来看。如果没有,我们需要将数字添加到结果中
res = 0
for each character c backwards:
if c =='I'
res += res + (res >= 5 ? -1 : 1)
else if c=='V'
res += res + 5
else if c=='X'
res += 10 * (res >= 50 ? -1 : 1)
else if c=='L'
res += 50;
else if c == 'C'
res += 100 * (res >= 500 ? -1 : 1)
else if c== 'D'
res += 500
else if c=='M'
res += 1000
return res
例如:MMDCCCXCIX
=0+MMDCCCXCIX
=10+MMDCCCXCI
=9+MMDCCCXC(当10>5时)
=109+MMDCCCX
=99+MMDCCC(as 109>50)
=199+MMDCC
=299+MMDC
=399+MMD
=899+MM
=1899+M
=2899如果你说你应该用哪种编程语言来做这件事,这会有帮助。但是它的算法谢谢。但是请告诉我变量的缩写。@HaXnainNoOrani res是结果,c是我们迭代的罗马数字的当前字符。你是一个救生员,兄弟。我可以使用index=0吗?@HaXnainNoOrani我想你是这个网站的新手。如果你想说谢谢,那就投赞成票吧。不用说谢谢。然后会有很多无用的评论只是说谢谢