вывод для getNumbers(4):
1
2
3
4
5
6
7
8
9
153
370
371
407
1634
8208
9474
package com.javarush.task.task20.task2025;
import java.util.ArrayList;
/*
Алгоритмы-числа
*/
public class Solution {
public static long[] getNumbers(long N) {
ArrayList<Long> resArr = new ArrayList<>();
int num = 1;
while (Integer.toString(num).length() <= N) {
String stringNum = Integer.toString(num);
ArrayList<Integer> nums = new ArrayList<>();
for (char c : stringNum.toCharArray()) {
int n = Integer.parseInt(Character.toString(c));
nums.add(n);
}
int res = 0;
for (int i : nums) {
res += Math.pow(i, stringNum.length());
}
if (res == num) {
resArr.add((long) res);
}
num++;
}
long[] longs = new long[resArr.size()];
for (int i = 0; i < resArr.size(); i++) {
longs[i] = resArr.get(i);
}
return longs;
}
public static void main(String[] args) {
Solution.getNumbers(4);
}
}