还有其他方法可以制作帕斯卡三角形吗?
Is there any other way to make pascal triangle?
我正在尝试打印帕斯卡三角形。
这是正常的
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;
}
我正在尝试打印帕斯卡三角形。
这是正常的
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;
}