二项式定理与杨辉三角联系十分紧密。杨辉三角的第 n 行的第 m(设m从0开始数) 个数即 n 次二项式展开的第 m 个系数,因此杨辉三角某行某列上的数都可以通过二项式定理的系数来得知,计算n次二项式展开的系数又可以通过排列组合的公式来求。
![](https://img-blog.csdnimg.cn/31377651f599403ea0624141d0700f47.png)
杨辉三角的第 n 行 第 m 列可以使用该公式求得,这里的 n 行、m 列对应着上方公式中的 n 和 m 。等式最右边的分子为 n 的阶乘,一定包含分母中的 (n - m)! ,两者相消,得到的结果分子为 n * (n - 1) * (n - 2) * (n - 3) * ...... * (n - m + 1),分母为 m!。
同时还有,0!= 0,所以杨辉三角的第零行,就是什么都没有。。。
#include
// 计算分母 返回一个数的阶乘
double findFactorial(double num){
double result = 1;
for( ; num > 1 ; num--){
result *= num;
}
return result;
}
// 计算分子 start * ( start - 1 ) * ( start - 2 )~~~~(start - end + 1)
double calculate(double start, double num){
double result = 1; // 保存结果
double tempstart = start;
for(; start > tempstart - num ; start--){
result *= start;
}
return result;
}
// 打印出杨辉三角 默认从第一层开始 ‘1’、‘1 1’、‘1 2 1’....
void printYangHui(double n){
if(n == 0){ // 如果要第零层则打印空
return;
}
for(double i = 0 ; i < n ; i++){
for(double j = 0 ; j |