HDU 1013 Digital Roots

 

题目:求整数的每位数的和

上代码

 1 #include <iostream>
 2 #include <cstring>
 3 #include <cstdio>
 4 using namespace std;
 5 char m[100];
 6 int main()
 7 {
 8     int n;
 9     int root;
10     while(~scanf("%s",m)){
11         n=0;
12         int lm=strlen(m);
13         for(int i=0;i<lm;i++) {
14             n = n+m[i]-'0';
15         }
16         if(n == 0)
17             break;
18         root = 0;
19         while(n >= 1){
20             root = root+ (n%10);
21             n/=10;
22         }
23         while(root >= 10){
24             n=root;root=0;
25             while(n >= 1){
26                 root = root+ (n%10);
27                 n/=10;
28             }
29         }
30         printf("%d
",root);
31     }
32     return 0;
33 }
---------------- 人们生成的最美好的岁月其实就是最痛苦的时候,只是事后回忆起来的时候才那么幸福。
原文地址:https://www.cnblogs.com/livelihao/p/5155139.html