Треугольник Паскаля в одной петле

Можно ли написать треугольник Паскаля, используя один цикл? Я написал это, используя более одного цикла, и он работает нормально.

2 ответа

Черт возьми, я сделаю свой комментарий ответ:

В качестве подсказки я бы создал метод, который будет принимать в качестве входных данных количество строк треугольника, который вы хотите создать, а затем в начале метода рассчитать общее количество элементов, в которые он будет преобразован, и затем получить цикл for. через все предметы. Внутри цикла вы можете легко рассчитать, в какой строке вы находитесь и в каком столбце, а затем использовать эту информацию для создания значения вашего элемента.

Код, который вы хотите здесь

или же

package net.yogesh.test;

import java.util.ArrayList;
import java.util.List;

public class pascal3 {

    public static void main(String[] args) {

        int noOfRows = 10;
        int counter = 1;
        List<Integer> list = new ArrayList<Integer>();
        list.add(1);

        list = itMe(list, counter,noOfRows);
    }

    public static List<Integer> itMe(List<Integer> list, int counter,int noOfRows) {
        System.out.println(list);

        List<Integer> tempList = new ArrayList<Integer>();

        tempList.add(1);
        for (int i = 1; i < list.size(); i++) {
            tempList.add(list.get(i) + list.get(i-1));
        }
        tempList.add(1);

        if(counter != noOfRows)
            itMe(tempList, ++counter,noOfRows);

        return tempList;
    }
}

Заметка

здесь вывод, как и ожидалось

но если вы хотите в отформатированном виде, чем вам нужно использовать дополнительный цикл.

Выход

[1]
[1, 1]
[1, 2, 1]
[1, 3, 3, 1]
[1, 4, 6, 4, 1]
[1, 5, 10, 10, 5, 1]
[1, 6, 15, 20, 15, 6, 1]
[1, 7, 21, 35, 35, 21, 7, 1]
[1, 8, 28, 56, 70, 56, 28, 8, 1]
[1, 9, 36, 84, 126, 126, 84, 36, 9, 1]
Другие вопросы по тегам