还有其他制作帕斯卡三角形的方法吗?

问题描述

我正在尝试打印出帕斯卡三角形。

这是正常的


int pascal(int l,int n) {


    if (l == n || n == 0)
        return 1;
    else
        return pascal(l - 1,n) + pascal(l - 1,n - 1);

}

但是我只想使用一个pascal函数进行递归

int pascal(int l,int n) {


    return pascal();

}

给定条件有解决方案吗?

解决方法

是的,由于存在重叠的子问题,您可以通过记忆来完成。

int pascalTriangle(int row,int col) {
    if (col == 0)
        return 1;
    if (row == 0)
        return col;
    return row * pascalTriangle(row - 1,col - 1) / col;
}

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...