Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- namespace Roman
- {
- class Program
- {
- static void Main(string[] args)
- {
- List<int> numbers = new List<int> { 4, 8, 15, 16, 23, 42, 1942, 2042, 2142 };
- foreach (int n in numbers) Console.WriteLine(n + "\t=\t" + ToRoman(n));
- string input = Console.ReadLine();
- while (int.TryParse(input, out int n) && n > 0)
- {
- Console.WriteLine(n + "\t=\t" + ToRoman(n));
- input = Console.ReadLine();
- }
- }
- static string ToRoman(int number)
- {
- List<string> romanTier0 = new List<string> { "", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX" };
- List<string> romanTier1 = new List<string> { "", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC" };
- List<string> romanTier2 = new List<string> { "", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM" };
- int n0 = number % 10;
- int n1 = (int)Math.Floor((double)(number / 10)) % 10;
- int n2 = (int)Math.Floor((double)(number / 100)) % 10;
- int n3 = (int)Math.Floor((double)(number / 1000));
- return new String('M', n3) + romanTier2[n2] + romanTier1[n1] + romanTier0[n0];
- }
- }
- }
Add Comment
Please, Sign In to add comment