Java: Könnt ihr mir bitte die Lösung zu dieser Fibonacci-Aufgabe geben?
public static int fibon(int length) {
List<Integer> list = new ArrayList<>();
int[] arr = new int[46];
return 0;
}
}
- Plätze belegen mit Bereichsüberprüfung
- Schleife von dritten Element aus bis zum letzten Element
0 1 1 2 3 .. Fibonacci
|_|_|_|_|_|
Ich verstehe es nicht ganz. Vor allem die Bereichsüberprüfung. Wie soll ich außerdem die Schleife machen bzw. mit int x oder was?
2 Antworten
Zur Erinnerung fib(n)=fib(n-1)+fib(n-2).
Entsprechend ergibt sich, daß Du n=0 und n=1 statisch vorbefüllst, danach mit einer Schleife ab n=2 (drittes Element des Array) weitermachst.
Wenn Plätze belegen mit Bereichsprüfung ein:
Initialisieren und Beachtung der Bounds meint
Dann ist klar, was zu tun ist. Wobei sich mir der Sinn nicht erschließt, wenn das Feld ohnehin direkt vollständig mit den Fibonaccizahlen befüllt wird. (Oder sollen die beiden Sätze zusammengehören)
List<Integer> list = new ArrayList<>();
int[] arr = new int[46];
int n1 = 0, n2 = 1, n3, count = 200;
for (int i = 2; i < count; i++) {
n3 = n1 + n2;
list.add(n3);
n1 = n2;
n2 = n3;
System.out.println(n3);
}
return 0;
}
ist das richtig?
Bereichsprüfung wird wohl sein , der wert ab der aktuellen position bis zur nächsten position, oder halt der bereich der length . also soweit wir die length angegeben ist.
und ob du int x nimmst oder int fibonacci belibt dir überlassen .
auf jedenfall brauchst du irgendwas was hochzählt und dann die gültigen lösungen ermittelt , bei gefunden dann eintragen .
könnte ich ne while schleife machen und einfach zb x++ hochzählen problem ist wie halte ich diese an wenn er das ende erreicht hat