ICode9

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

273. 整数转换英文表示

2020-03-24 21:02:25  阅读:504  来源: 互联网

标签:10 num string res 整数 273 英文 small return


 1 //用到了贪心思想
 2 class Solution 
 3 {
 4 public:
 5     string small[20] = {"Zero","One","Two","Three","Four","Five","Six","Seven","Eight","Nine","Ten",
 6                         "Eleven","Twelve","Thirteen","Fourteen","Fifteen","Sixteen","Seventeen","Eighteen","Nineteen"};
 7     string decade[10] = {"","","Twenty","Thirty","Forty","Fifty","Sixty","Seventy","Eighty","Ninety"};
 8     string big[4] = {"Billion","Million","Thousand"," "};
 9 public:
10     string numberToWords(int num) 
11     {
12         if(!num) return small[0];
13 
14         string res;
15         for(int i = 1000000000,j = 0;i > 0;i /= 1000,j ++)
16         {
17             if(num >= i)
18             {
19                 res += get_part(num / i) + big[j] + ' ';
20                 num %= i;
21             }
22         }
23         while(res.back() == ' ') res.pop_back();
24         return res;
25     }
26 
27     string get_part(int num)//0-999的数
28     {
29         string res;
30         if(num >= 100)
31         {
32             res += small[num / 100] + " Hundred ";
33             num %= 100;
34         }
35         if(!num) return res;
36         if(num >= 20) 
37         {
38             res += decade[num / 10] + ' ';
39             num %= 10;
40         }
41         if(!num) return res;
42         res += small[num] + ' ';
43         return res;
44     }
45 };

 此题很难

标签:10,num,string,res,整数,273,英文,small,return
来源: https://www.cnblogs.com/yuhong1103/p/12561885.html

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

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

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

ICode9版权所有