原题链接:hdoj1013
两个点,一个是大数,一个是九余数定理;
第一次提交用的是int,但是发现Wa,看了下discuss才发现大数这个点,然后就用了char数组。
九余数定理:某数除以9所得的余数为该数的数根(某数各个数位的数相加,若结果为两位数,继续相加,直到结果为一位数,即为数根)
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
char n[10000];
while(~scanf("%s",n) && n[0]!='0'){
int sum=0;
for(int i=0;i<strlen(n);i++){
sum+=n[i]-'0';
}
printf("%d\n",(sum-1)%9+1);
}
return 0;
}
//这道题写的时候,一直没AC过,因为将sum变量的位置放的不对,汗颜。