[算法设计与分析]3.4.1杨辉三角形的应用(递归+递推)

本文探讨了杨辉三角形在计算n阶二项式系数中的应用,强调其数学模型与递归、递推的关系。通过分析,指出当n=1时,二项式系数的前两项均为1。
摘要由CSDN通过智能技术生成

求n阶二项式系数的数学模型就是求n阶杨辉三角形 

杨辉三角最本质的特征是,它的两条斜边都是由数字1组成的,而其余的数则是等于它肩上的两个数之和。

不难看出:当n=1时两个系数有确定值,前两项分别为1,1。

#include<stdio.h>
#include<iostream>
#include<iomanip>

using namespace std;
const int N = 100;//设置用于递归的一维数组的长度
const int H = 8;//设置杨辉三角形的高

void Coeff1(int a[], int n);//递归进行杨辉三角形的求解和输出
void Coeff2(int n);

int main ()
{
    int a[N];
    int n = H;//n在递归中不断发生改变
    Coeff1(a, n - 1);//因为在递归结束的那一层处理了两行三角形 因此高度要-1才是目标高度
    Coeff2(n);
}

void Coeff1(int a[], int n)
{
    int i;
    if(n == 1)//此时对应于二项式的(a+b)^1 此时实际上处理了杨辉三角形的前两行
    {
        a[1] = 1;//杨辉三角形的前两项均为1
        a[2] = 1;
        for(int j = n; j <= H; j++)
                cout << " ";//输出空格 此时为1->H
        cout << a[1] << " " <<endl;
        for(int j = n; j < H; j++)
            cout << " &
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值