Public Sub Main() 'Testing Print "2009 = "; toRoman(2009) Print "1666 = "; toRoman(1666) Print "3888 = "; toRoman(3888) End Function toRoman(value As Integer) As String Dim result As String Dim arabic As Integer[] = [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1] Dim roman As String[] = ["M", "CM", "D", "CD", "C", "XC", "L" , "XL", "X", "IX", "V", "IV", "I"] For i As Integer = 0 To arabic.Max Do While value >= arabic[i] result &= roman[i] value -= arabic[i] Loop Next Return result End Function