每个数字加上其各位数字之和会得到一个数字,现在已知这个最后加得的数字求原数字
存表,查表
https://cn.vjudge.net/problem/UVA-1583
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define maxn 100005
int a[maxn];
int main() {
int t;
memset(a,0,sizeof(a));
for(int m=1; m<maxn; m++) {
int x=m,y=m;
while(x>0){
y+=x%10;
x/=10;
}
if(a[y]==0||m<a[y]){
a[y]=m;
}
}
scanf("%d",&t);
while(t--) {
int n;
scanf("%d",&n);
printf("%d\n",a[n]);
}
return 0;
}