/* ÜBUNG 7 AUFGABE 4 */ #include #include /* Anfang der Lösung */ int fibo_iter(int x) { int fibo_xminus2 = 0; int fibo_xminus1 = 1; int fibo = 0; int zaehler = 2; if(x == 0) return 0; if(x == 1) return 1; while(zaehler <= x) { fibo = fibo_xminus1 + fibo_xminus2; /* Berechnung laut Formel */ fibo_xminus2 = fibo_xminus1; /* setze fibo_xminus2 für nächsten Durchlauf */ fibo_xminus1 = fibo; /* setze fibo_xminus1 für nächsten Durchlauf */ ++zaehler; /* zaehler um 1 erhöhen */ } return fibo; } /* Ende der Lösung */ /* Beispiel-Programm, das fibo_iter() verwendet */ int main() { int zahl; printf("Bitte eine Zahl eingeben: "); scanf("%d", &zahl); printf("Die Fibonacci-Zahl von %d ist %d\n", zahl, fibo_iter(zahl) ); #ifdef _WIN32 /* Nur unter Windows: */ system("PAUSE"); /* Auf Tastendruck warten */ #endif /* Ende (Windows-Abfrage) */ return 0; }