编辑代码

//非递归算法
public class NumberTriangleNonRecursive {

    public static void printNumberTriangle(int n) {
        for (int i = 1; i <= n; i++) {
            for (int j = 1; j <= i; j++) {
                System.out.print(i + " ");
            }
            System.out.println();
        }
    }

    public static void main(String[] args) {
        int n = 5; // 设置 n 的值
        printNumberTriangle(n);
    }
}

//递归算法
public class NumberTriangleRecursive {

    public static void printNumber(int row, int col) {
        if (col > row) {
            System.out.println();
            return;
        }

        System.out.print(row + " ");
        printNumber(row, col + 1);
    }

    public static void printNumberTriangle(int n) {
        if (n == 0) {
            return;
        }

        printNumber(n, 1);
        printNumberTriangle(n - 1);
    }

    public static void main(String[] args) {
        int n = 5; // 设置 n 的值
        printNumberTriangle(n);
    }
}