数字转化为罗马数字
  hhguj7eGBrpU 2023年11月02日 73 0

public string ConvertToRoman(int num) { // 定义罗马数字对应的数值
Dictionary<int, string> values = new Dictionary<int, string>()
{
{ 1000, "M" },
{ 900, "CM" },
{ 500, "D" },
{ 400, "CD" },
{ 100, "C" },
{ 90, "XC" },
{ 50, "L" },
{ 40, "XL" },
{ 10, "X" },
{ 9, "IX" },
{ 5, "V" }, { 4, "IV" },
{ 1, "I" }
};

数字转化为罗马数字_i++

// 使用递归方法将整数转换为罗马数字  
        return ConvertToRomanRecursive(num, values);
    }

    public string ConvertToRomanRecursive(int num, Dictionary<int, string> values)
    {
        string roman = "";
        foreach (KeyValuePair<int, string> pair in values)
        {
            while (num >= pair.Key)
            {
                roman += pair.Value;
                num -= pair.Key;
            }
        }
        return roman;
    }

    public string IntToRoman(int num)
    {
        int[] nums = { 1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1 };
        string[] romans = { "M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I" };
        StringBuilder result = new StringBuilder();
        for (int i = 0; i < 13; i++)
        {
            while (num >= nums[i])
            {
                result.Append(romans[i]);
                num -= nums[i];
            }
        }
        return result.ToString();
    }
}
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  anLrwkgbyYZS   2023年12月30日   28   0   0 i++iosi++ioscici
  1BnnW8rtw7M9   2023年12月22日   120   0   0 算法i++i++mathMath算法
hhguj7eGBrpU
作者其他文章 更多