Hi Forum,
ich checke leider folgende Rekursion nicht:
public class Rekursion {
public static void main(String[] args) {
for (int i=0; i<7; i+=2)
System.out.println(f(i)+"");
}
public static int f(int x) {
if (x<1) return 1;
return f(x-1) + f(x-2);
}
}
1. Die Schleife beginnt mit 0, die Methode gibt 1 zurück, da if zutrifft.
2. Variable i von der Schleife ist nun 2. Was passiert nun?
Er gibt return f(2-1) + f(2-2) zurück. Sprich, ruft er sich dann mit f(1)+f(0), also abgezogen (Minus) f(1) auf?
Würde er sich mit f(1) aufrufen, käme dann laut meiner Logik dann
return f(1-1) + f(1-2) heraus. Also f(f(0)+f(-1)
Grüße