其实昨晚就在做这题了,早上起来的太晚,然后刚刚提交。
此题其实一开始是想很直白的按照题目意思来操作,后期发现这样太麻烦了,而且如果拿纸笔写出来会发现其实是1-9循环的~~每次增加1,那么层层迭代下来,最终当ans<10的时候也是每次增加了1。如此,可以归纳出
roots=(n-1)%9+1
源码:
1 #include <stdio.h> 2 #include <math.h> 3 #include <string.h> 4 5 int main(){ 6 char a[1003]; 7 int i , sum; 8 9 while((scanf("%s",a) != EOF) && (a[0] != '0')){ 10 sum = 0; 11 for(i = 0; i < strlen(a); i++){ 12 sum += a[i] - 48; 13 } 14 printf("%d ",(sum - 1) % 9 + 1); 15 } 16 return 0; 17 }