Мне интересно, как преобразовать рекурсивную функцию/класс в итеративный. Я сделал рекурсивный треугольник Паскаля, и теперь нужно сравнить его с итеративным.Рекурсивный для треугольника Iterative Pascal
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)? –