001 package de.hska.java.aufgaben.rekursion;
002
003 /**
004 * Fibonacci ist verantwortlich für die Berechnung
005 * der Fibonaccizahlen.
006 * <p>
007 * <a href="http://www.home.hs-karlsruhe.de/~pach0003/informatik_1/aufgaben/rekursion.html#fibonacci">Zurück zum Aufgabentext</a>
008 * </p>
009 * @author Christian Pape
010 *
011 */
012 public class Fibonacci {
013
014 /**
015 * Gibt die n-te Fibonaccizahl zurück.
016 * Laufzeit ist O(log<sub>n</sub>).
017 */
018 public long getFibonacci(int n) {
019 Matrix matrix = new Matrix(1, 1, 1, 0);
020
021 matrix = matrix.potenzieren(n);
022
023 return matrix.get(0,1);
024 }
025 }