Ich komme bei einer Hausaufgabe nicht weiter!
Wie ihr am Titel schon gesehen habt, geht es um Rekursion.
Die Aufgabe lautet :
"Ein Paar aus jeweils n zueinander parallelen Geraden schneidet sich. Wieviele Schnittpunkte gibt es für n = 37, wenn für n = 36 die Anzahl A der Schnittpunkte A(36) = 1296 beträgt? Wie könnte man allgemein die Anzahl der Schnittpunkte von n Geradenpaaren aus der Anzahl für n - 1 bestimmen? Bestimmen Sie eine rekursive Definition der Funktion A(n). Geben Sie ebenso die Abbruchbedingung an."
Also ein Beispiel, um es zu verdeutlichen:
Wenn n = 3 ist, dann sind damit 6 Geraden gemeint, 3 waagrecht und 3 vertikal, also gibt es 3 * 3 = 9 Schnittpunkte! - > Also mit n sind die GeradenPAARE gemeint.
Ich habe zwar die Lösung schon, aber ich weiß nicht wie man auf die Lösung kommt! Bitte kann mir einer erklären, wie man bei Rekursion logisch an die richtige Lösung gelangt?
Die Lösung ist als Quelltext geschrieben:
Wie ihr am Titel schon gesehen habt, geht es um Rekursion.
Die Aufgabe lautet :
"Ein Paar aus jeweils n zueinander parallelen Geraden schneidet sich. Wieviele Schnittpunkte gibt es für n = 37, wenn für n = 36 die Anzahl A der Schnittpunkte A(36) = 1296 beträgt? Wie könnte man allgemein die Anzahl der Schnittpunkte von n Geradenpaaren aus der Anzahl für n - 1 bestimmen? Bestimmen Sie eine rekursive Definition der Funktion A(n). Geben Sie ebenso die Abbruchbedingung an."
Also ein Beispiel, um es zu verdeutlichen:
Wenn n = 3 ist, dann sind damit 6 Geraden gemeint, 3 waagrecht und 3 vertikal, also gibt es 3 * 3 = 9 Schnittpunkte! - > Also mit n sind die GeradenPAARE gemeint.
Ich habe zwar die Lösung schon, aber ich weiß nicht wie man auf die Lösung kommt! Bitte kann mir einer erklären, wie man bei Rekursion logisch an die richtige Lösung gelangt?
Die Lösung ist als Quelltext geschrieben:
Java:
public long schnittpunkt(long n)
{
if (n < 2) {return 1;}
else {return n + (n-1) + schnittpunkt(n-1);}
}