Hi,
die Fakultät von 3 ist: 1*2*3 = 6.
die Fakultät von 4 ist: 1*2*3*4= 24.
usw.
Ich habe ein Beispielprogramm, dass mir die Fakultät bestimmter Zahlen durch Rekursion (Methoden rufen sich selbst auf) ausrechnen soll.
Das Programm funktioniert zwar, aber ich weiss nicht wieso!
Punkt 1. Warum hört n-1 bei der Zahl 1 auf und macht nicht bis - unendlich weiter?
Punkt 2. Wenn n sich immer mit 1 dekrementiert, warum wird irgendwann nicht return 1 aufgerufen?
Ich hoffe ihr wisst weiter.
Liebe Grüße
Reality
die Fakultät von 3 ist: 1*2*3 = 6.
die Fakultät von 4 ist: 1*2*3*4= 24.
usw.
Ich habe ein Beispielprogramm, dass mir die Fakultät bestimmter Zahlen durch Rekursion (Methoden rufen sich selbst auf) ausrechnen soll.
Das Programm funktioniert zwar, aber ich weiss nicht wieso!
Code:
public class Factorial {
int fact(int n)
{
int result;
if(n==1) return 1;
result = fact(n-1)*n;
return result;
}
public static void main(String[] args) {
Factorial f= new Factorial();
System.out.println("3 Falkutät ist "+f.fact(3));
}
}
Punkt 1. Warum hört n-1 bei der Zahl 1 auf und macht nicht bis - unendlich weiter?
Punkt 2. Wenn n sich immer mit 1 dekrementiert, warum wird irgendwann nicht return 1 aufgerufen?
Ich hoffe ihr wisst weiter.
Liebe Grüße
Reality