ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

[Leetcode] Integer to Roman

2019-05-28 14:41:59  阅读:198  来源: 互联网

标签:Repeat Join string Roman num result Integer Enumerable Leetcode


 

 

 

 

數字轉羅馬文字,4 & 9 有特例

,除 千 百 十 及餘 取係數出來,如果係數== 9 or 4 就固定某個roman number,不是就 repeat 係數/5的次數 及 repeate 係數% 5的次數,全部加起來就是了

 

 1 public string IntToRoman(int num)
 2         {
 3             string result = string.Empty;
 4             //千位
 5             var thun = num / 1000;
 6             //百位
 7             var hun = (num = (num - (thun * 1000))) / 100;
 8             //十位
 9             var ten = (num = (num - (hun * 100))) / 10;
10             //個位
11             var remain = num % 10;
12 
13             result += string.Join("", Enumerable.Repeat("M", thun));
14 
15             if (hun == 9)
16                 result += "CM";
17             else if (hun == 4)
18                 result += "CD";
19             else
20             {
21                 //500的重複
22                 result += string.Join("", Enumerable.Repeat("D", hun / 5));
23                 //小於500的重複
24                 result += string.Join("", Enumerable.Repeat("C", hun % 5));
25             }
26 
27             if (ten == 9)
28                 result += "XC";
29             else if (ten == 4)
30                 result += "XL";
31             else
32             {
33                 //50的重複
34                 result += string.Join("", Enumerable.Repeat("L", ten / 5));
35                 //小於50的重複
36                 result += string.Join("", Enumerable.Repeat("X", ten % 5));
37             }
38 
39             if (remain == 9)
40                 result += "IX";
41             else if (remain == 4)
42                 result += "IV";
43             else
44             {
45                 //5的重複
46                 result += string.Join("", Enumerable.Repeat("V", remain / 5));
47                 //小於5的重複
48                 result += string.Join("", Enumerable.Repeat("I", remain % 5));
49             }
50 
51             return result;
52         }

 

标签:Repeat,Join,string,Roman,num,result,Integer,Enumerable,Leetcode
来源: https://www.cnblogs.com/seako/p/10937142.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有