6. 8. 13 Fibonacci-Zahlen rekursiv
bestimmen
Fibonacci-Zahlen
Wir haben
gesehen, dass die Fibonacci-Zahlen folgende Gestalt haben
1, 1, 2, 3, 5, 8, 13, 21,... Wir haben weiter gesehen, dass ein
Folgenglied sich dadurch berechnet, dass man seine beiden Vorgnger
addiert. Damit dies funktioniert, muss man allerdings wissen, welche Werte
die beiden ersten Glieder haben. Die exakte Formulierung der
Fibonacci-Folge geschieht durch das folgende Bildungsgesetz:
fib(n) = fib(n-1) + fib(n-2) mit
fib(1) = fib(2) = 1
Deutlich wird die rekursive Art der
Definition dieser Zahlenfolge. Diese Definition lsst sich nahezu eins zu
eins in einen Java-Quellcode bersetzen:
FibonacciDemo1. Fibonacci folge java python. java
public static
long fib( int a){
if (a== 1 ||a== 2)
return 1;
else return fib(a- 1)+fib(a- 2);} Wir testen die Methode in
einem kleinen Demo-Programm:
import info1. *;
public class FibonacciDemo1{
public static void main(String[] args){
( "Geben Sie ein Zahl an: ");
int a = ();
( "fib(" +a+ ") = " + fibonacci(a));}
private static int fibonacci( int a){
if (a== 1 ||a== 2) return 1;
else return fibonacci(a- 1)+fibonacci(a- 2);}}
Schauen wir uns die Methode etwas
genauer an und fragen uns, was genau passiert denn eigentlich, wenn wir
fib(5) bestimmen lassen?
- Fibonacci folge java.sun.com
Fibonacci Folge Java.Sun.Com
Ziel dieses Artikels war, zu zeigen, wie man in Java grundsätzlich einfache Algorithmen implementieren kann und wie dies anhand des Beispiels von Fibonacci-Zahlen aussieht. Fibonacci rekursiv: fib(n)
Eine Besonderheit der Fibonacci-Zahlen ist, daß deren Ermittlung mit Hilfe eines rekursiven Algorithmus außergewöhnlich einfach ist, mit der Besonderheit, daß ein solcher Algorithmus bereits bei relativ kleinen Zahlen für praktische Zwecke unbrauchbar langsam wird. Um dies zu verdeutlichen, implementieren wir einen rekursiven Algorithmus, der uns die n. Fibonacci-Zahl liefert, in dem er sich selbst zweimal aufruft (mit n-1 und n-2) und diese Summe zurückgibt. Fibonacci folge java.sun.com. Wir müssen dazu noch den Anker implementieren, nämlich daß die ersten beiden Fibonacci-Zahlen jeweils die eins sind (und die nullte die Null) - negative Argumente interpretieren wir der Einfachheit wegen einfach zur Null um:
public static long fib(final int n) {
if (n <= 2) {
return (n > 0)? 1: 0;}
return fib(n - 1) + fib(n - 2);}
So einfach und smart dieser Algorithmus auch aussehen mag: wenn Sie damit herumspielen, werden Sie feststellen, daß die Berechnung z. schon für die fünfzigste Fibonacci-Zahl ewig lange dauert.
Java::
Aufgabe #150
5 Lösungen
Anfänger - Java
von Y0uLyric
- 14. 12. 2016 um 21:42 Uhr
Schreibe Code, der die Fibonacci-Zahlen bis 100 ausgibt. Die Fibonacci-Zahlen kommen dadurch zustande, dass 2 aufeinanderfolgende Zahlen addiert werden, zb. : 0 + 1 = 2 --> 1 + 2 = 3 --> 2 + 3 = 5 --> 3 + 5 = 8..... Viel Erfolg!!! Bitte melden Sie sich an um zur Aufgabenbeschreibung eine Frage zu stellen. Frage stellen
Bitte melden Sie sich an um eine Lösung einzureichen. Lösung einreichen
Lösungen:
von PC-principal (1340 Punkte)
- 29. 2016 um 12:14 Uhr
Java-Code import *;
public class FibonacciZahlen {
public static void main(String[] args) {
int n = 100;
BigInteger alt =;
BigInteger aelter =;
BigInteger neu =;
while (n > 0) {
neu = (alt);
neu = (aelter);
(neu);
aelter = alt;
alt = neu;
neu =;
n--;}}}
Bitte melden Sie sich an um eine Kommentar zu schreiben. Fibonacci-Folge - Java Online Coaching. Kommentar schreiben
von Hasenfrau (120 Punkte)
- 06. 01. 2017 um 14:18 Uhr
Java-Code public class Fibonacci {
// TODO Auto-generated method stub
int x = 0;
int y = 1;
int ergebnis;
while(x <=100){
ergebnis = x+y;
(x + " + " + y + "=" + ergebnis);
x = y;
y = ergebnis;}}}
von Syntax6 (420 Punkte)
- 22.