用排列组合的方式写出杨辉三角的java代码
杨辉三角形第n层(顶层称第0层,第1行,第n层即第n+1行,此处n为包含0在内的自然数)正好对应于二项式展开的系数。例如第二层1 2 1是幂指数为2的二项式展开形式的系数。
public void print(int x) {
for (int i = 0; i < x; i++) {
int num = 1;
// 输出空格
System.out.format("%" + (x - i) * 2 + "s", " ");
for (int j = 0; j <= i; j++) {
System.out.format("%4d", num);
num = num * (i - j) / (j + 1);
}
System.out.println();
}
}
重点解释: num = num * (i - j) / (j + 1); 怎么来的:
因为
这里的k=j+1所以得到这个公式。
当x=5时得到的 结果为