Description
一个数
自己加各个数位之和形成一个新数
245 is 256 (= 245 + 2 + 4 + 5).
然后256可能有很多种数组成了,找到最小的,输出
Algorithm
直接枚举,用a[i]表示组成i的最小的数
最后输出a[i]即可
Code
import java.util.Scanner;
public class Main {
public static void main(String args[]) {
final int maxn = 100000 + 9;
Scanner cin = new Scanner(System.in);
int t = cin.nextInt();
int[] a = new int[2 * maxn];
for (int i = 0; i < maxn; i++) {
int x = i;
int s = x;
while (x > 0) {
s += (x % 10);
x /= 10;
}
if (a[s] > 0) continue;
a[s] = i;
}
while (t-- > 0) {
int n = cin.nextInt();
System.out.println(a[n]);
}
}
}