再帰関数/クラスを反復的なものに変換する方法を知りました。 私は再帰的なパスカルの三角形を作ったので、これを反復型と比較する必要があります。反復的なパスカルの三角形
public class RecursivePascal extends ErrorPascal implements Pascal
{
private int n;
RecursivePascal(int n) throws Exception
{
super(n);
this.n = n;
}
public void printPascal()
{
printPascal(n, false);
}
public void printPascal(boolean upsideDown)
{
printPascal(n, upsideDown);
}
private void printPascal(int n, boolean upsideDown)
{
if (n == 0) { return; }
if (!upsideDown) { printPascal(n - 1, upsideDown); }
for (int i = 0; i < n; i++)
{
System.out.print(binom(n - 1, i) + (n == i + 1 ? "\n" : " "));
}
if (upsideDown) { printPascal(n - 1, upsideDown); }
}
public int binom(int n, int k)
{
if (k == 0 || n == k) { return 1; }
return binom(n - 1, k - 1) + binom(n - 1, k);
}
}
私はそれを反復させるために変更するには何が必要ですか?私はまだこれがどのように動作するのか少し不明です。前もって感謝します!あなたの答えを見つけるでしょう、このリンクを介して
[パスカルの三角形の形式](http://stackoverflow.com/q/19918994/576719)の質問に答えがありますか? –