import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int m = sc.nextInt();
int p = 0;
int [] a = new int[m];
for (int i = 1; i <= a.length; i++) {
if (p < m) {
int t = 0;
for (int j = 0; j < p; j++) {
if (i == a[j]){
t = 1;
break;
}
}
if (t == 0){
a[p] = i;
p++;
if (p == m){
break;
}
int w = add(i);
for (int j = i+1; j <= n; j++) {
if (p < m) {
int w1 = add(j);
if (w == w1){
a[p] = j;
p++;
}
}else {
break;
}
}
}
}else {
break;
}
}
System.out.println(a[m-1]);
}
private static int add(int i) {
int w = 0;
while (i>0){
w += i%10;
i = i/10;
}
return w;
}
}
请教别人才完成的
但是没有理解为啥存储数字的时候要判断是否重复。