减少第一轮求和的计算量是关键
#include<iostream>
#include<string>
#include<unordered_map>
using namespace std;
int main(){
string str;
while(cin>>str){
if(str == "0") break;
int ans = 0;
for(int i = 0; i < str.size(); i++){
ans += str[i] - '0';
}
while(ans >= 10){ //int范围内的数位和最大不超过99
int t = 0;
t = ans / 10 + ans % 10;
ans = t;
}
cout<< ans<<endl;
}
return 0;
}