题目内容:
斐波那契(Fibonacci)数列的定义为:它的第一项和第二项均为1,以后各项为前两项之和。若斐波那契数列中第n项用Fib(n)表示,则计算公式为: 试根据下面程序填写出计算Fib(n)的递归算法和非递归算法。 递归算法如下: int Fib(int n) {if (n==1||n==2) 1; /*终止递归条件*/ return Fib(n-1)+ Fib(n-2));} 非递归算法如下: int Fib1(int n) { a,b,c;/*c代表当前项,a和b分别代表当前项前面的第二项和第一项*/ a=b= ; (n==1||n==2) return 1; else for(int i=3;i<=n;i++) {c= ; /*求出当前项*/ a= ; /*把前面第一项赋给前面第二项*/ b= ; /*把当前项赋给前面第一项*/ } return c; /*返回所求的第n项*/ }
参考答案: