static uint[] nums = { 1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1 };
static string[] rum = { "M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I" };
static string ToRoman(uint number)
for (int i = 0; i < nums.Length && number != 0; i++)
while (number >= nums[i])
for (uint number = 1; number <= 1 << 10; number *= 2)
Console.WriteLine("{0} = {1}", number, ToRoman(number));