wa了两遍:
(1)没有弄清楚输入数据的范围,实际上是字符串输入,数字很大。
(2)此题太水,没有标数据范围。
#include<iostream> #include<cstdio> #include<algorithm> #include<string> #include<cstring> #define ll long long using namespace std; #define maxn 1000000000 char s[maxn]; int main() { while(~scanf("%s",s)) { if(s[0]=='0') break; ll sum=0; ll len=strlen(s); //(1) for(int i=0; i<len; i++) { sum+=s[i]-'0'; } ll tmp=sum; while(sum>=10) { sum=0; while(tmp) { sum+=tmp%10; tmp/=10; } tmp=sum; } cout<<sum<<endl; } return 0; }