标签: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. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。