De retour n-ième nombre de Fibonacci la suite de l'autre?

J'ai une question sur mes devoirs pour la classe et j'ai besoin de savoir comment retourner n-ième nombre de Fibonacci à l'aide de l'itération (pas de récursivité est autorisé).

J'ai besoin de quelques conseils sur la façon de le faire afin que je puisse mieux comprendre ce que je fais de mal. Je sortie de la console dans mon programme.cs, d'où il est absent dans le code ci-dessous.

    //Q1)
    //
    //Return the Nth Fibonacci number in the sequence
    //
    //Input: uint n (which number to get)
    //Output: The nth fibonacci number
    //

    public static UInt64 GetNthFibonacciNumber(uint n)
    {

    //Return the nth fibonacci number based on n.


    if (n == 0 || n == 1)
        {
            return 1;
        }

        //The basic Fibonacci sequence is 
        //1, 1, 2, 3, 5, 8, 13, 21, 34...
        //f(0) = 1
        //f(1) = 1
        //f(n) = f(n-1) + f(n-2)
        ///////////////
        //my code is below this comment

        uint a = 0;
        uint b = 1;

        for (uint i = 0; i < n; i++)
        {
            n = b + a;
            a = b;
            b = n;
        }
        return n;
Vous réutilisez n. Qui fait de la condition de la boucle de mal, après la première itération.
vous ne devriez pas être la modification de n dans votre boucle for.
wow je me sens stupide je vous remercie de l'homme, de la nouvelle programmation
Nous avons tous été là. Ou au moins la plupart d'entre nous.
Vous devez donner à vos variables de noms plus significatifs, plutôt que de a, b, n, etc. Il contribuera à atténuer les problèmes de ce type.

OriginalL'auteur user1766351 | 2012-10-22