帕斯卡的三角形格式

Sid*_*hri 12 java pascals-triangle

赋值是在不使用数组的情况下创建Pascal的三角形.我有生成下面三角形值的方法.该方法接受用户想要打印的最大行数的整数.

public static void triangle(int maxRows) {
    int r, num;
    for (int i = 0; i <= maxRows; i++) {
        num = 1;
        r = i + 1;
        for (int col = 0; col <= i; col++) {
            if (col > 0) {
                num = num * (r - col) / col;    
            }
            System.out.print(num + " ");
        }
        System.out.println();
    }
}
Run Code Online (Sandbox Code Playgroud)

我需要格式化三角形的值,使其看起来像一个三角形:

              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
Run Code Online (Sandbox Code Playgroud)

我不能为我的生活弄清楚如何做到这一点.请回答请记住,我是Java编程的初学者.

小智 11

public static long pascalTriangle(int r, int k)
{
    if(r == 1 || k <= 1 || k >= r) return 1L;
    return pascalTriangle(r-1, k-1) + pascalTriangle(r-1, k);
}
Run Code Online (Sandbox Code Playgroud)

此方法允许您查找第r行的第k个值.


Unc*_*roh 8

这是一个好的开始,它的功课,我会把剩下的留给你:

int maxRows = 6;
int r, num;
for (int i = 0; i <= maxRows; i++) {
    num = 1;
    r = i + 1;
    //pre-spacing
    for (int j = maxRows - i; j > 0; j--) {
        System.out.print(" ");
    }
    for (int col = 0; col <= i; col++) {
        if (col > 0) {
            num = num * (r - col) / col;
        }
        System.out.print(num + " ");
    }
    System.out.println();
}
Run Code Online (Sandbox Code Playgroud)


PM *_*7-1 1

在每一行中,您需要打印:

  • n空间
  • m数字
  • n空间

你的工作是找出n(最后一行为零)并m基于row number

[这更像是评论,但我需要比评论提供的更多格式选项]