2 条题解
-
1
I Have A Big Number
一道普通的模拟,只要从低位四个四个一切,切到第12个时全部压入即可,因为没有要求 载 之后再分万载,亿载之类。
参考代码
#include <iostream> #include <vector> #include <string> using namespace std; const vector<string> units = { "", "wan", "yi", "zhao", "jing", "gai", "zi", "rang", "gou", "jian", "zheng", "zai" }; int main() { string N; cin >> N; vector<string> parts; int position = N.size(); int count = 0; while(position > 0) { int start = max(0, position - 4); int len = position - start; if(count < 11) { parts.push_back(N.substr(start, len)); } else { parts.push_back(N.substr(0, position)); break; } position -= 4; count++; } string res; for (int i = parts.size() - 1; i >= 0; --i) { if (parts[i] == "0000") continue; size_t j = 0; while (j < parts[i].size() - 1 && parts[i][j] == '0') ++j; res += parts[i].substr(j) + units[i]; } cout << res << endl; return 0; }
信息
- ID
- 1101
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 9
- 标签
- 递交数
- 96
- 已通过
- 11
- 上传者