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\n",a[n]);
	}
	return 0;
}
posted @ 2019-01-24 02:50  月光不染是非  阅读(80)  评论(0编辑  收藏  举报