题意:
给出一个很大的数字(很长的字符串),然后将其位数相加 如果大于10则继续相加 直到结果小于10,输出结果
思路:
用string来记录不定长的字符串,然后将其用while()循环处理
#include <iostream> #include <cstdio> using namespace std; int main(){ string s; long long d,tmp; while(cin>>s&&s!="0"){ d =0; for(int i=0;i<s.size();i++){ d += (s[i] - '0'); } while(d>9){ tmp = d; d = 0; while(tmp){ d += (tmp%10); tmp /= 10; } } printf("%lld\n",d); } }