Хочу разобраться сам, но ни как не получается. Прочитал эту статью https://acmp.ru/article.asp?id_text=198,
long[][] pows = new long[10][N+1]; //при N = 19 предусматриваем 20 значений в каждом ряду
       for (int i = 1; i < pows.length; i++) { //число от 0 до 9
           long p = 1;
           for (int j = 0; j < pows[i].length; j++) { //от 0 до 19
               pows[i][j] = p;
               p *= i; //при значении i = 2, мы получаем значения 1 (2^0), 2(2^1), 4(2^2) ...
               // каждый раз p является значением i в предыдущей степени, которое еще раз умножается на i, чтобы получить
               // очередную степень числа i
               System.out.print(pows[i][j] + " ");

           }
Не пойму как сюда относится это - "вводится двухмерный массив, в i-ой строке и j-ом столбце которого находится значение степенной суммы i с основанием j (например, Degree[123,j] = 1j + 2j + 3j )" не могу понять что дает этот массив, я понял что возводит в степень j строку i, почему строк именно 10, что это за числа которыми заполняется матрица для чего они, зачем N + 1 цифр 19 же,? Относительно какого числа нужно искать армстронги, максимального long или любого? Я понимаю какие числа относятся к числам армстронга.