直接暴力
最后一位加1 之后 进位。。
然后求和
看是不是十的倍数。
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
int X[100005]={0};
int solve(int ct)
{
int m=ct;
int sum=0;
while(1)
{
if(m==0)break;
if(X[m]==10)
{
X[m]=0;
X[m-1]++;
m--;
}
else break;
}
for(int i=0;i<=ct;i++)
{
sum+=X[i];
}
return sum;
}
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
char ch[100005];
X[0]=0;
int sum=0;
scanf("%s",ch);
int cnt=strlen(ch);
for(int i=0;i<cnt;i++)
X[i+1]=ch[i]-'0';
// printf("%d",cnt);
do
{
X[cnt]++;
int tmp = solve(cnt);
if(tmp%10==0)break;
}while(1);
int i=X[0]==0?1:0;
for(;i<=cnt;i++)
printf("%d",X[i]);
puts("");
}
return 0;
}