数根
题目链接:数根
一开始以为是水题,不断循环就行了,后来发现了诸多的实现问题,后来又想了想,发现了个规律:每次两个数字相加超过 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 }