数根

  题目链接:数根

  一开始以为是水题,不断循环就行了,后来发现了诸多的实现问题,后来又想了想,发现了个规律:每次两个数字相加超过 10 时就减去 9,因为只有数位上的数字有效,也就是说十位上的数字缩小了 9 倍,相当于减去了 9,具体的自己再想想吧,我也解释不清楚。

 1 #include<cstdio>
 2 
 3 char s[1006];
 4 
 5 int main() {
 6     while(~scanf("%s",s)) {
 7         int sum = 0;
 8         for(int i = 0; s[i]; ++i)
 9             if((sum += (s[i]-'0')) >= 10)   sum -= 9;
10         printf("%d
",sum);
11     }
12     return 0;
13 }
View Code
原文地址:https://www.cnblogs.com/Newdawn/p/4652258.html