题目
给定一个非负整数 N,你的任务是计算 N 的所有数字的总和,并以英语输出总和的每个数字。
输入格式
共一行,包含一个整数 N。
输出格式
共一行,用英语输出总和的每个数字,单词之间用空格隔开。
数据范围
0≤N≤10100
输入样例:
12345
输出样例:
one five
解法:模拟
时间复杂度O(n),空间复杂度O(1)
#include <iostream>#include <vector>#include <string>using namespace std;typedef long long ll;string map[10] = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};int main() {string n;cin >> n;ll sum = 0;for (auto c: n) {sum += c - '0';}string s = to_string(sum);cout << map[s[0] - '0'];for (int i = 1; i < s.size(); i++)cout << " " << map[s[i] - '0'];return 0;}
