Integer to Roman go语言实现

2018-09-22  本文已影响0人  fjxCode

Integer to Roman

题目描述

Given an integer, convert it to a roman numeral.
Input is guaranteed to be within the range from 1 to 3999.

思路:

解:

package main

import "fmt"

func intToRoman(num int) string {
    //M CM D CD C XC L XL X IX V IV I
    //1000 900 500 400 100 90 50 40 10 9 5 4 1

    res := ""
    for ; num >= 1000;  {
        num -= 1000
        res += "M"
    }
    for ; num >= 900;  {
        num -= 900
        res += "CM"
    }
    for ; num >= 500;  {
        num -= 500
        res += "D"
    }
    for ; num >= 400;  {
        num -= 400
        res += "CD"
    }
    for ; num >= 100;  {
        num -= 100
        res += "C"
    }
    for ; num >= 90;  {
        num -= 90
        res += "XC"
    }
    for ; num >= 50;  {
        num -= 50
        res += "L"
    }
    for ; num >= 40;  {
        num -= 40
        res += "XL"
    }
    for ; num >= 10;  {
        num -= 10
        res += "X"
    }
    for ; num >= 9;  {
        num -= 9
        res += "IX"
    }
    for ; num >= 5;  {
        num -= 5
        res += "V"
    }
    for ; num >= 4;  {
        num -= 4
        res += "IV"
    }
    for ; num >= 1;  {
        num -= 1
        res += "I"
    }
    return res
}
func main()  {
    res := intToRoman(9)
    fmt.Print(res)
}
上一篇下一篇

猜你喜欢

热点阅读