#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
using namespace std;
char a[10010];
int main()
{
while(cin>>a && a[0]!='0')
{ int sum;
int n=0;
int len=strlen(a);
for(int i=0;i<len;i++)
n += a[i] - '0';
do{
sum=0;
while(n != 0)
{
sum += n%10;
n /= 10;
}
n = sum;
}while(sum>=10);
cout<<sum<<endl;
}
这一题其实挺坑的,但不难,一开始没考虑大数就编的风生水起,结果WA了之后才恍然大悟。没什么技巧可言,就考虑大数就好。。。
不过有某个牛人给出了一种另类的算法,这个将会作为转载发在另一篇;