数根

  题目链接:数根

  一开始以为是水题,不断循环就行了,后来发现了诸多的实现问题,后来又想了想,发现了个规律:每次两个数字相加超过 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\n",sum);
11     }
12     return 0;
13 }
View Code

 

posted @ 2015-07-16 19:19  Newdawn_ALM  阅读(259)  评论(0编辑  收藏  举报