题目:点击打开链接
分析:用数组模拟大数。
九余数定理:一个数模9等于各位数字和模9,例如 33%9=6%9;
代码一:
#include<stdio.h>
char str[2000];
int main()
{
int a;
while(scanf("%s",str))
{
int i;
int a=0,b=0;
if(str[0]=='0')
break;
for(i=0;str[i]!='\0';i++)
a+=str[i]-'0';
while(1)
{
b+=a%10;
a=a/10;
if(a/10==0)
b+=a;
if(a/10==0&&b/10==0)
break;
if(a/10==0&&b/10!=0)
{
a=b;
b=0;
}
}
printf("%d\n",b);
}
return 0;
}
代码二:九余数定理
#include <stdio.h>
#include <string.h>
int main()
{
char s[1003];
int i;
int a;
while(scanf("%s",s),s[0]!='0')
{
a=0;
for(i=0;s[i]!='\0';i++)
a=a*10+s[i]-'0',a=a%9;
if(a==0) a=9;
printf("%d\n",a);
}
return 0;
}