Рассмотрим вариант реализации треугольника Паскаля на Java. Для простоты хранения и обработки данных представим треугольник в виде двухмерного массива, в котором элементы первой строки и колонки равны единице, а все остальные элементы — есть сумма двух предыдущих элементов в строке и в колонке.
A[i][j] = A[i][j-1] + A[i-1][j];
Например, при {n = 8
} массив будет выглядеть следующим образом:
1 1 1 1 1 1 1 1
1 2 3 4 5 6 7
1 3 6 10 15 21
1 4 10 20 35
1 5 15 35
1 6 21
1 7
1
Создаём и заполняем двухмерный массив с убывающей длиной строки:
int n = 8;
// массив из 'n' строк
int[][] arr = new int[n][];
// обходим строки массива
for (int i = 0; i < n; i++) {
// строка из 'n-i' элементов
arr[i] = new int[n - i];
// обходим элементы строки
for (int j = 0; j < n - i; j++) {
if (i == 0 || j == 0) {
// элементы первой строки
// и колонки равны единице
arr[i][j] = 1;
} else {
// все остальные элементы — есть сумма двух
// предыдущих элементов в строке и в колонке
arr[i][j] = arr[i][j - 1] + arr[i - 1][j];
}
}
}
Выводим массив построчно:
// обходим строки массива
for (int[] row : arr) {
// обходим элементы строки
for (int el : row)
// пробел и двузначное число
System.out.printf(" %2d", el);
// переход на новую строку
System.out.println();
}
© Головин Г.Г., Код с комментариями, 2021