題目鏈接:http://poj.org/problem?id=1519
題目大意就是,給你一個整數,求它的數字根,數字根的定義就是如果這個數小於10,則它就是數字根,若大於等於10則要把它的各個位上的數字加起來,若仍大於等於10,則重複這個過程,直至小於10。例,整數24,大於等於10,2+4=6,6就是這個數數字根;整數39,3+9=12,1+2=3,3就是數字根。
這個題有個神奇的規律,我也是看了別人的解題報告,就是先把這個整數的各個位上的數加起來對9取模就是數字根。
代碼:
#include<stdio.h>
#include<string.h>
int main()
{
int i,sum,b,n;
char a[2000];
while(1){
scanf("%s",a);
if(strcmp(a,"0")==0)
break;
n=strlen(a);
sum=0;
for(i=0;i<n;i++)
sum+=a[i]-'0';
b=sum%9;
if(b==0)
b=9;
printf("%d\n",b);
}
return 0;
}