您的位置:首页 > 其它

hdu 1013 Digital Roots (找规律)

2012-10-14 17:38 363 查看
点击打开链接

ps:

n=0 1 2 3 4 5 6 7 8 9 10 11 12 13 ......... 100 101 102 103 ....

roots=0 1 2 3 4 5 6 7 8 9 1 2 3 4 .......1 2 3 4....

原来是以1.....9为循环节的。想想也是,每次增加1,那么层层迭代下来,最终当ans<10的时候也是每次增加了1。如此,可以归纳出

roots=(n-1)%9+1

//注意输入的数字很大需要字符串读入,求和得n:
#include<stdio.h>
#include<string.h>
#include<math.h>
int main()
{
int i,n;
char a[1003];
while (scanf("%s",&a)&&a[0]!='0')
{
n=0;
for (i=0;a[i];i++)
{
n+=a[i]-48;
}
printf("%d\n",(n-1)%9+1);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: