hdoj 1013的题目,当初选这道题是因为把它分到了简单题目这一类,不过还是提交了三次才正确,囧。。。,需要注意的是这个题目的整数可能会很大,所以先得用字符串处理,题目连接:
源代码如下:
#include
#include
int f(int n)
{
int temp;
int sum = 0;
while(n)
{
temp = n % 10;
sum += temp;
n = n / 10;
}
if(sum >= 10)
{
f(sum);
}
else
{
return sum;
}
}
int main(int argc,char *argv[])
{
char str[1000];
int i,j,sum;
while(1)
{
sum = 0;
memset(str,0,strlen(str));
scanf("%s",str);
if(str[0] == '0')
{
break;
}
for(i = 0;i <= (int)(strlen(str) - 1);i++)
{
sum += (str[i] - '0');
}
printf("%d\n",f(sum));
}
return 0;
}
阅读(462) | 评论(0) | 转发(0) |