hdu 4608 I-number

暴力枚举,注意处理好进位

貌似输入的前导零也会被输出,表示做的时候没想到

 1 #include<stdio.h>
 2 #include<string.h>
 3 
 4 char str[111111];
 5 
 6 int main()
 7 {
 8     int T,i;
 9     scanf("%d",&T);
10     while(T--)
11     {
12         scanf("%s",str);
13         int len=strlen(str);
14         int s=0;
15         strrev(str);
16         while(1)
17         {
18             str[0]=(str[0]++);
19             for(i=0;i<len-1;i++)
20             {
21                 if(str[i]-'0'>=10){
22                     str[i]=str[i]-10;
23                     str[i+1]++;
24                 }
25             }
26             if(str[len-1]-'0'>=10){
27                     str[len-1]-=10;
28                     str[len]='1';
29                     len++;
30                     str[len]='\0';
31                 }
32             int t=0;
33             for(i=0;i<len;i++)
34                 t+=(str[i]-'0');
35             if(t%10==0)
36                 break;
37         }
38         strrev(str);
39         printf("%s\n",str);
40 
41     }
42     return 0;
43 }
View Code

 

posted @ 2013-07-27 12:34  Thousand Sunny  阅读(154)  评论(0编辑  收藏  举报