Neuen Algorithmus programmieren

  • Morgen,
    ich muss momentan meinen Grundkurs in Maschinenbauinformatik teilnehmen und wir sollen für eine Übung ein Algorithmus der Fibonaccifolge schreiben.
    In C# mit einer while-Schleife die die Zahlen der Fibonaccifolge aufaddiert, bis die Fibonaccifolge einen Wert von max. 2.000.000 annimmt.


    ich initialisiere also erstmal meine Variablen


    int x = 0
    int y = 1
    int z = x+y
    int summe = z+y


    und dann kommt doch die while-Schleife...


    while(z<2000000)


    aber was soll dann für ein algorhitmus kommen?
    Bitte nicht so kompliziert erklären, hatten erst 4 Vorlesungen

  • ich sprech nur "normales" c - und da geht
    int z = x + y; sicher nicht ....
    also in c:




    int x, y, z;


    x = 0;
    y = 1;
    z = x + y;


    fprintf (stdout, " %d\n", x);
    fprintf (stdout, " %d\n", y);


    while (z < 2000000) {
    fprintf (stdout, " %d\n", z);


    x = y;
    y = z;
    z = x + y;
    }

  • du bist schon am richtigen Weg, nur dass die Fibonaccizahlen und die Summe in die Schleife geschrieben werden muss, denn das wird ja immer wieder wiederholt :)

    Code
    1. int x = 0;
    2. int y = 1;
    3. int summe = 0;
    4. while (y<2000000)
    5. {
    6. int z = y; //speichert die Vorherige Zahl zwischen
    7. y = x+y;
    8. x = z;
    9. summe += y; //summiert die Zahlen auf
    10. }
  • ich schreib mit der ersten Anweisung IN der Schleife


    fprintf (stdout, " %d\n", z);


    ohnehin die Fibonaccizahlen laufend in der Schleife ...


    die vorigen zwei fprintf ausserhalb der Schleife schreiben die ersten beiden Fibonaccizahlen 0 und 1
    in der Schleife gehts dann weiter mit 1, 2, 3 ...


    es geht sich auch mit 3 Variablen aus ...