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我想你是这个网站的新手。如果你想说谢谢,那就投赞成票吧。不用说谢谢。然后会有很多无用的评论只是说谢谢