Hallo,
wir haben eine neue Aufgabenstellung (Screenshot hinzugefügt).
Es geht im Wesentlichen darum, die catalanschen Zahlen mit Rekursion abzubilden. Meine Idee ist es, eine for Schleife hochzählen zu lassen und dann bei jeder Berechnung die Methode wieder aufzurufen. Leider habe ich das noch nicht in sinnvollen Code bekommen:
Welche Idee habt ihr? Ich bin dankbar für jede Hilfe.
wir haben eine neue Aufgabenstellung (Screenshot hinzugefügt).
Es geht im Wesentlichen darum, die catalanschen Zahlen mit Rekursion abzubilden. Meine Idee ist es, eine for Schleife hochzählen zu lassen und dann bei jeder Berechnung die Methode wieder aufzurufen. Leider habe ich das noch nicht in sinnvollen Code bekommen:
Code:
package programming.set8.catalan;
import acm.program.ConsoleProgram;
public class RatherExcellentRecursiveCatalanNumbersCalculationHelper extends ConsoleProgram{
public void run () {
int n = readInt("Enter index of catalan number:");
println(catalan(n));
}
/**
* Calculate Catalan number C(n) and collect statistics along the way.
*
* @param n
* which Catalan number to calculate.
* @return the calculated Catalan number.
* @throws IllegalArgumentException
* if n < 0.
*/
public int catalan(int n) {
if (n < 0) {
println("please enter a number > 0");
} else if (n == 0) {
return 1;
} else {
for (int k = 0; k<=n-1; k++) {
int j = catalan(k)*catalan(n-1-k);
}
}
return j ;
}
}
Welche Idee habt ihr? Ich bin dankbar für jede Hilfe.