因为数据大,拿long long过不去,所以拿char数组实现。
#include <iostream>
#include <algorithm>
#include <string.h>
using namespace std;
int main()
{
char str[10001];
while(cin >> str ){
if( strlen(str) == 1 && str[0] == '0') {
break;
}
int sum = 10;
while( sum >= 10) {
sum = 0;
for(int i = 0;i <strlen(str);i++) {
sum += str[i] - '0';
}
sprintf(str,"%d",sum);
}
cout << sum <<endl;
}
return 0;
}