public class Fak { public static int facRec(int n) { // Abbruchbedingung(en): // TO DO // Rekursiver Aufruf: // TO DO } public static int facTailRec(int n) { // Rufe die Hilfsmethode mit passenden Parametern auf und gib Ergebnis zurück: // TO DO } /** * Hilfsmethode, welche (die Zahl, für die die Fakultät berechnet werden soll) * übergeben bekommt und die Berechnung endrekursiv mittels eines zusätzlichen * Parameters durchführt. dient als dabei Akkumulator, d. h. es wird immer * das bisher berechnete Zwischenergebnis übergeben (sodass am Ende einfach dieses * Zwischenergebnis zurückgegeben werden kann). * * Endrekursion = Nach dem rekursiven Aufruf passiert nichts mehr, d. h. das * Ergebnis kann direkt zurückgegeben werden (return), aber es findet keine * Berechnung/Vergleich o. Ä. mehr statt. Alle Berechnungen werden davor ausgeführt * (daher nutzt man hier meistens einen zusätzlichen Parameter). */ private static int facTailRecHelper(int n, int k) { // Abbruchbedingung(en): // TO DO // Rekursiver Aufruf: // TO DO } public static int facIt(int n, int k) { while (true) { // TO DO } } }