Римское представление числа - C#

Узнай цену своей работы

Формулировка задачи:

Составить программу, которая в зависимости от введенной цифры (0, 1, ... ,9) выводит на экран ее римское представление. В паскале нашел, помогите перевести в С#
Листинг программы
  1. var n:integer;
  2. a,b,c,d,f,h,q,s,w,r:string;
  3. begin
  4. writeln('ââåäèòå ÷èñëî');
  5. readln(n);
  6. case n mod 10 of
  7. 1:a:='I';
  8. 2:a:='II';
  9. 3:a:='III';
  10. 4:a:='IV';
  11. 5:a:='V';
  12. 6:a:='VI';
  13. 7:a:='VII';
  14. 8:a:='VIII';
  15. 9:a:='IX';
  16. end;
  17. b:='X';
  18. c:='L';
  19. d:='C';
  20. case n mod 100 of
  21. 10..19:q:=b+a;
  22. 20..29:q:=b+b+a;
  23. 30..39:q:=b+b+b+a;
  24. 40..49:q:='IL'+a;
  25. 50..59:q:=c+a;
  26. 60..69:q:=c+b+a;
  27. 70..79:q:=c+b+b+a;
  28. 80..89:q:=c+b+b+b+a;
  29. 90..99:q:='IC'+a;
  30. else q:=a;
  31. end;
  32. s:='D';
  33. case n mod 1000 of
  34. 100..199:f:=d+q;
  35. 200..299:f:=d+d+q;
  36. 300..399:f:=d+d+d+q;
  37. 400..499:f:='ID'+q;
  38. 500..599:f:=s+q;
  39. 600..699:f:=s+d+q;
  40. 700..799:f:=s+d+d+q;
  41. 800..899:f:=s+d+d+d+q;
  42. 900..999:f:='IM'+q;
  43. else f:=q;
  44. end;
  45. w:='M';
  46. case n mod 4000 of
  47. 1000..1999:r:=w+f;
  48. 2000..2999:r:=w+w+f;
  49. 3000..3999:r:=w+w+w+f;
  50. else r:=f;
  51. end;
  52. writeln(r);
  53. end.

Решение задачи: «Римское представление числа»

textual
Листинг программы
  1. using System;
  2. using System.Text;
  3.  
  4. public class Program
  5. {
  6.     private static int[] arabic = { 1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1 };
  7.     private static string[] roman = { "M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I" };
  8.    
  9.     public static void Main()
  10.     {
  11.         int n = 2017;
  12.         StringBuilder sb = new StringBuilder();
  13.         for (int i = 0; n > 0; i++)
  14.         {
  15.             int d = Math.DivRem(n, arabic[i], out n);
  16.             while (d-- != 0) sb.Append(roman[i]);
  17.         }
  18.         Console.WriteLine(sb);
  19.     }
  20. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы