You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

57 lines
1.1 KiB

package inttoroman
import (
"strings"
)
func intToRoman(num int) string {
var result strings.Builder
for num > 0 {
if num >= 1000 {
num = num - 1000
result.WriteString("M")
} else if num >= 900 {
num = num - 900
result.WriteString("CM")
} else if num >= 500 {
num = num - 500
result.WriteString("D")
} else if num >= 400 {
num = num - 400
result.WriteString("CD")
} else if num >= 100 {
num = num - 100
result.WriteString("C")
} else if num >= 90 {
num = num - 90
result.WriteString("XC")
} else if num >= 50 {
num = num - 50
result.WriteString("L")
} else if num >= 40 {
num = num - 40
result.WriteString("XL")
} else if num >= 10 {
num = num - 10
result.WriteString("X")
} else if num >= 9 {
num = num - 9
result.WriteString("IX")
} else if num >= 5 {
num = num - 5
result.WriteString("V")
} else if num >= 4 {
num = num - 4
result.WriteString("IV")
} else if num >= 1 {
num = num - 1
result.WriteRune('I')
}
}
return result.String()
}
func Convert(num int) string {
return intToRoman(num)
}