Fibonacci (Prolog)

Aus Infostudium Wiki

Wechseln zu: Navigation, Suche

Das folgende Programm berechnet die n-te Fibonacci-Zahl. Es ist elegant und leicht verständlich, jedoch ineffizient, weil baumrekursiv:

fib(0, 1).
fib(1, 1).
fib(N, F) :- N > 1, 
  N1 is N - 1, N2 is N - 2, 
  fib(N1, F1), fib(N2, F2), 
  F is F1 + F2.


Andere Definition:

Die Fibonacci-Reihe ist die Zahlenfolge 1, 1, 2, 3, 5, 8, 13 ..., wobei die i-te Fibonacci-Zahl die Summe der beiden Vorgänger ist.

fib(0, 1):-!.
fib(1, 1):-!.
fib(N, W) :- N1 is N-1, fib(N1, W1),
             N2 is N-2, fib(N2, W2),
             W is W1 + W2.

Siehe auch

Fibonacci (Haskell)

Persönliche Werkzeuge