1002 写出这个数
作者:
lvjj
,
2024-05-01 22:54:10
,
所有人可见
,
阅读 6
// #include <bits/stdc++.h>
// using namespace std;
// typedef long long ll;
//
// int main(){
// string str[10] = {"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};
// ll n;
// cin>>n;
// int len = (int)log10(n)+1;
// ll sum=0;
// int a;
// for(int i=0;i<len;i++){
// a = n%10;
// // cout<<a<<' ';
// sum+=a;
// n/=10;
// }
// // cout<<sum<<endl;
// vector<string> s;
// len = (int)log10(sum)+1;
// int b;
// for(int i=0;i<len;i++){
// b = sum%10;
// s.push_back(str[b]);
// sum/=10;
// }
// reverse(s.begin(),s.end());
// for(int i = 0;i < s.size(); i++) {
// if(i!=s.size()-1) cout<<s[i]<<' ';
// else cout<<s[i];
// }
// return 0;
// }
//题目保证 n 小于 10^100,所以len小于100,也就是说最坏的长度是99,故用长整型(长度最多为19左右)存的话空间不够
//所以这题用字符串转换方法而不是上面用整数类型直接求
#include <bits/stdc++.h>
using namespace std;
int main(){
string str[10] = {"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};
string s;
cin>>s;
int sum=0;
for(int i=0;i<s.size();i++){
sum+=s[i]-'0';
}
string ss = to_string(sum);
for(int i=0;i<ss.size();i++){
int j = ss[i]-'0';
if(i!=ss.size()-1)cout<<str[j]<<' ';
else cout<<str[j];
}
return 0;
}