暴力枚举,注意处理好进位
貌似输入的前导零也会被输出,表示做的时候没想到
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 }