帕斯卡的三角形广义公式推导

时间:2017-06-30 14:02:29

标签: java math pascals-triangle

class Solution{
public static void main(String []argh)
{
    Scanner sc = new Scanner(System.in);
    int t=sc.nextInt();
    for(int i =0;i<t;i++) {
        int number = 1;                                  
        System.out.format("%"+(t-i)*2+"s","");          
        for(int j=0;j<=i;j++) {
             System.out.format("%4d",number);
             number = number * (i - j) / (j + 1);       // how this formula was derived ???

        }
        System.out.println();
    }

    }

}

我唯一想知道的是生成每个元素的公式

number = number *(i-j)/(j + 1)

是派生的,它运作得很完美但是怎么样?(只想在类似的问题中得出这样的表达式)

1 个答案:

答案 0 :(得分:1)

Pascal三角形的每一行都是通过迭代二项式系数函数 n C r 生成的:

enter image description here

让我们将此与 n C r + 1 进行比较:

enter image description here

第二行的第二个因素恰好是因子(i - j) / (j + 1),它乘以得到行中的下一个数字。在代码j = r, i = n