Digit Generator UVA – 1583

每个数字加上其各位数字之和会得到一个数字,现在已知这个最后加得的数字求原数字

存表,查表

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
",a[n]);
	}
	return 0;
}
原文地址:https://www.cnblogs.com/ygbrsf/p/12583035.html