/*
时间:2014.2.16
目次: 题目1124:Digital Rootsac.jobdu.com/problem.php?pid=1124
*/
#include <stdio.h>
#include <string.h>
int main()
{
char str[10001];
int i, t;
while(~scanf("%s", str), str[0] - '0')
{
while(strlen(str) > 1)
{
for(i=1;str[i];i++)
{
t = str[i] - '0' + str[i-1] - '0';
str[i-1] = t % 10 + '0';
str[i] = t / 10 + '0';
}//56,str[0] = 5,str[1] = 6, 运行一次后,str[0] = 1,str[1] = 1,在运行后str[0]=2,str[0]=0,故结束
(str[strlen(str) - 1] =='0')&&(str[strlen(str) - 1] = '\0');//结尾要处理
}
printf("%d\n", str[0] - '0');
}
return 0;
}
/*
----------------
24 思路:1.由于数可能很大故用了字符数组
6
56
2
----------------
*/
题目1124:Digital Roots
最新推荐文章于 2019-04-09 20:57:06 发布