递归和非递归分别实现求第n个斐波那契数

    xiaoxiao2022-07-13  127

    递归:

    int Fib(int n){ if (n == 1 || n == 2) return 1; return Fib(n-1) + Fib(n-2); }

    非递归:

    int Fib(int n){ int num1 = 1, num2 = 1, num3 = 0; if (n == 1 || n == 2) //前两项都为1 return 1; for (int i = 2; i < n; i++){ num3 = num1 + num2; //后一项等于前两项的和 num1 = num2; //现在前面的第二个就没用了,将它换到前一个数字 num2 = num3; } return num3; }
    最新回复(0)