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