Рабочий вариант. Важно, что c = 1
в начале цикла для заполнения строк.
Формула c = c * (i - j + 1) / j
для определения значения элемента треугольника верна.
Scanner in = new Scanner(System.in);
System.out.print("Enter n - number of rows in Pascal triangle: ");
int n = in.nextInt();
ArrayList<ArrayList<Integer>> triangle = new ArrayList<ArrayList<Integer>>(n);
// allocate rows
for (int i = 0; i < n; i++) {
int c = 1;
ArrayList<Integer> row = new ArrayList<Integer>();
// allocate elements
for (int j = 0; j <= i; j++) {
if (j == 0 || i == j) {
row.add(1);
} else {
c = c * (i - j + 1) / j;
row.add(c);
}
}
triangle.add(row);
}
for (int i = 0; i < n; i++) {
for (int j = 0; j <= i; ++j) {
System.out.format("%4d", triangle.get(i).get(j));
}
System.out.println();
}
Разбирался по примеру (код ниже) где сделана обычная квадратная матрица.
int c = 0;
ArrayList<ArrayList<Integer>> arrayList = new ArrayList<ArrayList<Integer>>();
for (int i = 0; i < 10; i++) {
ArrayList<Integer> row = new ArrayList<Integer>();
for (int j = 0; j < 10; j++) {
row.add(c);
++c;
}
arrayList.add(row);
}
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; ++j) {
System.out.format("%"+"3d", arrayList.get(i).get(j));
}
System.out.println();
}
Спасибо за комментарии! Изначально ошибся с инициализацией первого элемента с
в строке.
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Всем привет! Нужна помощь в принятии решения, заранее спасибо! Задача состоит в том, что нужно разработать инструмент(сервис) для миграции...
Суть приложения такова, что я ввожу какие-то символы, которыми дополняются определенный url и с этого url уже идет парсинг нужных мне значенийПри...
Добрый деньЧитаю Camel in Action, там есть пример маршаллинга в xml с помощью jaxb Spring XML