回复 10楼 wp231957
感谢各位了,我解决了,不过换了一个方法,代码如下#include <iostream>
#include <stdio.h>
#include <string.h>
#define N 100005
using namespace std;
char x[N];
int num[N];
int dum[N];
int solve(int length,int k){
// printf("k== %d;length== %d\n",k,length );
int sum=0;
num[length]+=k;
for(int i=length;i>=0;i--){
if(num[i]>9){
num[i-1]++;
}
}
for(int j=0;j<=length;j++){
// printf("aaalength== %d\n",sum);
if(j==0){
if(num[j]==10){
sum+=1;
}else{
sum+=num[j];
}
}else{
sum+=num[j]%10;
num[j]=num[j]%10;
}
// printf("sum== %d\n",sum);
// printf("num[%d]== %d\n",j,num[j] );
}
return sum%10;
}
int main() {
int t,sum,ans,i;
scanf("%d",&t);
while(t--){
sum=0;
scanf("%s",x);
int len=strlen(x);
for(i=0;i<len;i++){
num[i]=x[i]-'0';
dum[i]=x[i]-'0';
sum+=num[i];
}
ans=sum%10;
int j=num[len-1];
if(len==1){
printf("%d",19);
}else{
for(i=1;i<20;i++){
if(solve(len-1,i)==0){
for(int j=0;j<len;j++){
printf("%d",num[j]);
}
break;
}else{
for(int j=0;j<len;j++){
num[j]=dum[j];
}
}
}
}
printf("\n");
}
// system("pause");
return 0;
}