fork(2) download
  1. using System;
  2. using System.Collections.Generic;
  3.  
  4. public class Test
  5. {
  6. private static Dictionary<string, int> RomanNumbers = new Dictionary<string,int>
  7. {
  8. {"M", 1000},
  9. {"CM", 900},
  10. {"D", 500},
  11. {"CD", 400},
  12. {"C", 100},
  13. {"XC", 90},
  14. {"L", 50},
  15. {"XL", 40},
  16. {"X", 10},
  17. {"IX", 9},
  18. {"V", 5},
  19. {"IV", 4},
  20. {"I", 1}
  21. };
  22.  
  23. public static int ConvertRomanNumtoInt(string strRomanValue)
  24. {
  25. int retVal = 0;
  26. foreach (KeyValuePair<string, int> pair in RomanNumbers)
  27. {
  28. while (strRomanValue.IndexOf(pair.Key) == 0)
  29. {
  30. retVal += pair.Value;
  31. strRomanValue = strRomanValue.Substring(pair.Key.Length);
  32. }
  33. }
  34. return retVal;
  35. }
  36.  
  37. public static void Main()
  38. {
  39. Console.WriteLine(ConvertRomanNumtoInt("I"));
  40. Console.WriteLine(ConvertRomanNumtoInt("II"));
  41. Console.WriteLine(ConvertRomanNumtoInt("III"));
  42. Console.WriteLine(ConvertRomanNumtoInt("IV"));
  43. Console.WriteLine(ConvertRomanNumtoInt("V"));
  44. Console.WriteLine(ConvertRomanNumtoInt("VI"));
  45. Console.WriteLine(ConvertRomanNumtoInt("VII"));
  46. Console.WriteLine(ConvertRomanNumtoInt("VIII"));
  47. Console.WriteLine(ConvertRomanNumtoInt("IX"));
  48. Console.WriteLine(ConvertRomanNumtoInt("X"));
  49. Console.WriteLine(ConvertRomanNumtoInt("XI"));
  50. Console.WriteLine(ConvertRomanNumtoInt("XII"));
  51. Console.WriteLine(ConvertRomanNumtoInt("XIII"));
  52. Console.WriteLine(ConvertRomanNumtoInt("XIV"));
  53. Console.WriteLine(ConvertRomanNumtoInt("XV"));
  54. Console.WriteLine(ConvertRomanNumtoInt("XVI"));
  55. Console.WriteLine(ConvertRomanNumtoInt("XVII"));
  56. Console.WriteLine(ConvertRomanNumtoInt("XVIII"));
  57. Console.WriteLine(ConvertRomanNumtoInt("XIX"));
  58. Console.WriteLine(ConvertRomanNumtoInt("XX"));
  59. }
  60. }
  61.  
  62.  
Success #stdin #stdout 0.05s 33880KB
stdin
Standard input is empty
stdout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20