Je me demande comment convertir une fonction/classe récursive en une fonction itérative. J'ai créé un triangle de Pascal récursif, et j'ai maintenant besoin de le comparer à un itératif.Récursif au Triangle itératif de 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);
}
}
Que dois-je changer pour le rendre itératif? Je suis encore un peu incertain de comment cela fonctionne. Merci d'avance!
La réponse à votre question est-elle donnée dans cette question: [Pascal's Triangle Format] (http://stackoverflow.com/q/19918994/576719)? –