华为oj 学英语
来源:互联网 发布:php是做前端还是后端 编辑:程序博客网 时间:2024/05/16 16:37
直接copy别人的感觉他的程序很直观很好理解,具体那位大神的链接忘了,勿怪!
注意事项:
对于什么时候加‘and’请注意!
举个例子 110 ------ one hundred and ten
101 ------ one hundred and one
1001 ------ one hundred one
#include <iostream>#include <string>using namespace std;string s1[20] = { "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen" };string s3[10] = { "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety" };string lessThan100(long num){string result;if (num < 20)result = s1[num - 1];else if (num <100 && num % 10 == 0)result = s3[num / 10 - 2];else if (num <100)result = s3[num / 10 - 2] + " " + s1[num % 10 - 1];return result;}string lessThan1000(long num){string result;if (num < 100)result = lessThan100(num);else if (num % 100 == 0)result = s1[num / 100 - 1] + " hundred";elseresult = (s1[num / 100 - 1] + " hundred and " + lessThan100(num % 100));return result;}string lessThanMillion(long num){string result;if (num < 1000)result = lessThan1000(num);else if (num % 1000 == 0)result = lessThan1000(num / 1000) + " thousand";elseresult = lessThan1000(num / 1000) + " thousand " + lessThan1000(num % 1000);return result;}string lessThanBillion(long num){string result;if (num <1000000)result = lessThanMillion(num);else if (num % 1000000 == 0)result = lessThanMillion(num / 1000000) + " million";elseresult = lessThanMillion(num / 1000000) + " million " + lessThanMillion(num % 1000000);return result;}string parse(long num){string result;if (num <= 0 || num >= 10000000000)result = "ERROR";else if (num < 1000)result = lessThan1000(num);else if (num < 1000000)result = lessThanMillion(num);else if (num <1000000000)result = lessThanBillion(num);else if (num == 1000000000)result = "one billion";elseresult = s1[num / 1000000000 - 1] + " billion " + lessThanBillion(num % 1000000000);return result;}int main(){long num = 0;cin >> num;cout << parse(num);return 0;}
结论 这种分而治之的方法很好用,而且思路很清晰!!!
0 0
- 华为oj 学英语
- 华为OJ:学英语
- 华为OJ(学英语)
- 华为OJ之学英语
- 【华为OJ】【092-学英语】
- 华为OJ 初级:学英语
- 华为oj初级 学英语
- 【华为oj】学英语o(>﹏<)o
- 华为OJ基础题-学英语
- 华为OJ——学英语
- 华为OJ——学英语
- 华为OJ训练之0049-170223- 学英语
- 华为oj_学英语
- 华为在线测试--学英语
- 华为机试---学英语
- 华为oj_学英语_改
- 华为OJ
- 华为oj:
- 第四届_翻硬币
- iOS面试题汇总
- Python学习笔记,基础2
- 集训队专题(7)1008 Kakuro Extension
- iOS知识树,知识目录(包括对象、Block、消息转发、GCD、运行时、runloop、动画、Push、KVO、tableview,UIViewController、提交AppStore)
- 华为oj 学英语
- Gt9xxxx系列------如何确定config档
- Provisioning Profile -- 运行报错 Command /usr/bin/codesign failed with exit code 1
- find: missing argument to `-exec' & 删除指定时间的文件
- ActiveX控件安全初始化之一:实现ISafeObject接口(转)
- 马克扎克伯格谈未来科技趋势:视频、人工智能、VR
- 维基百科开发知识搜索引擎Knowledge Engine
- Fresco的简单使用
- 分布式session有以下几种方案