HDU-1013 Digital Roots

mac2022-06-30  25

题意:

给出一个很大的数字(很长的字符串),然后将其位数相加 如果大于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); } }

 

转载于:https://www.cnblogs.com/Tianwell/p/11195542.html

相关资源:JAVA上百实例源码以及开源项目
最新回复(0)