private static void genPows(int N) { if (N > 20) throw new IllegalArgumentException(); pows = new long[10][N + 1]; for (int i = 0; i < pows.length; i++) { long p = 1; for (int j = 0; j < pows[i].length; j++) { pows[i][j] = p; p *= I; // - ЧЕМУ в первом прохождении ровно p??? } } } ЧЕМУ в первом прохождении ровно p??? что то меня вгоняет ступор - там же "0"?