#include <stdio.h>
int ww(int n)
{int i=0,t,k=0;
while(n!=0)
{ t=n%10;
n/=10;
i++;
k+=t;
}
return k;
}
int main()
{int n,k,i,j;
scanf("%d",&n);
while(n!=0)
{
k=ww(n);
while(k>9)
k=ww(k);
printf("%d\n",k);
scanf("%d",&n);
}
return 0;
}
看起来很简答的一道题目,但是上传上去是错的。
#include <stdio.h>
int qq(int n)
{int t,k=0;
while(n!=0)
{
t=n%10;
k+=t;
n/=10;
}
return k;
}
int ww(char s[])
{int i=0,k=0;
while(s[i]!='\0')
{
k+=s[i]-'0';
i++;
}
return k;
}
int main()
{int n,k,i,j;
char s[100000];
scanf("%s",s);
while(s[0]!='0')
{
k=ww(s);
while(k>9)
k=qq(k);
printf("%d\n",k);
scanf("%s",s);
}
return 0;
}
原来是大数的问题,不能用int。
但是觉得用的方法效率太低了。。