fork download
  1. using System;
  2.  
  3. public class Test
  4. {
  5. public static void Main()
  6. {
  7. for (int num = 1000; num <= 2000; num++)
  8. {
  9. string returnStr = "";
  10. int temp = num;
  11. while (temp > 0)
  12. {
  13. if (temp >= 1000)
  14. {
  15. returnStr += "M";
  16. temp -= 1000;
  17. }
  18. else if (temp >= 900)
  19. {
  20. returnStr += "CM";
  21. temp -= 900;
  22. }
  23. else if (temp >= 500)
  24. {
  25. returnStr += "D";
  26. temp -= 500;
  27. }
  28. else if (temp >= 400)
  29. {
  30. returnStr += "CD";
  31. temp -= 400;
  32. }
  33. else if (temp >= 100)
  34. {
  35. returnStr += "C";
  36. temp -= 100;
  37. }
  38. else if (temp >= 90)
  39. {
  40. returnStr += "XC";
  41. temp -= 90;
  42. }
  43. else if (temp >= 50)
  44. {
  45. returnStr += "L";
  46. temp -= 50;
  47. }
  48. else if (temp >= 40)
  49. {
  50. returnStr += "XL";
  51. temp -= 40;
  52. }
  53. else if (temp >= 10)
  54. {
  55. returnStr += "X";
  56. temp -= 10;
  57. }
  58. else if (temp >= 9)
  59. {
  60. returnStr += "IX";
  61. temp -= 9;
  62. }
  63. else if (temp >= 5)
  64. {
  65. returnStr += "V";
  66. temp -= 5;
  67. }
  68. else if (temp >= 4)
  69. {
  70. returnStr += "IV";
  71. temp -= 4;
  72. }
  73. else if (temp > 0)
  74. {
  75. returnStr += "I";
  76. temp -= 1;
  77. }
  78. }
  79.  
  80. var tempArr = new[] { "M", "C", "L", "X", "V", "I" };
  81. foreach (var item in tempArr)
  82. {
  83. if ((returnStr.Contains(item)) && (returnStr.IndexOf(item) == returnStr.LastIndexOf(item)))
  84. {
  85. temp++;
  86. }
  87. }
  88. if (temp == 6)
  89. {
  90. Console.WriteLine(num + "\t" + returnStr);
  91. }
  92. }
  93. Console.ReadLine();
  94. }
  95. }
Success #stdin #stdout 0.01s 131648KB
stdin
Standard input is empty
stdout
1144	MCXLIV
1146	MCXLVI
1164	MCLXIV
1166	MCLXVI
1444	MCDXLIV
1446	MCDXLVI
1464	MCDLXIV
1466	MCDLXVI
1644	MDCXLIV
1646	MDCXLVI
1664	MDCLXIV
1666	MDCLXVI