【发布时间】:2018-02-07 10:06:39
【问题描述】:
我正在尝试创建一种递归方法,该方法可以将帕斯卡的三角形上下颠倒打印出来。我想使用一个布尔变量在倒置三角形和右侧倒置三角形之间切换。至此,我已经成功编写了将帕斯卡三角倒置的代码:
public class Main {
boolean upsideDown = true;
public void printPascal(int n) {
if (!upsideDown) {
//THIS IS WHERE I'M STUCK
}
if (upsideDown) {
if (n < 0)
return;
for (int k = 0; k <= n; k++) {
System.out.print(binom(n, k) + " ");
}
System.out.println();
printPascal(n - 1);
}
}
public int binom(int n, int k) {
if (k == n || k == 0)
return 1;
else return binom(n - 1, k - 1) + binom(n - 1, k);
}
public static void main(String[] args) {
new Main().printPascal(10); //This will print the Pascal's triangle
//from levels 10 to 0
}
}
所以现在,我尝试将帕斯卡三角形正面朝上打印(从 0 级到 10 级)。如何制作实现此目的的递归方法?
我知道网上有很多关于帕斯卡三角形的代码。但我找不到任何特别处理我的问题的东西。
【问题讨论】:
标签: java recursion boolean pascals-triangle