这次的题目是要求用递归算法求斐波那契数列的第n项。
众所周知:斐波那契数列中的项等于前两项相加的和,第一项为0,第二项为1。那么我们可以轻易得到递归公式:
f(n)=f(n-1)+f(n-2);
其中,第一项为0,第二项为1:
if(n==1) return 0;
if(n==2) return 1;
然后得到如下代码:
#include<stdio.h> int f(int n); int main() { int n; scanf("%d",&n); printf("%d ",f(n)); return 0; } int f(int n) { if(n==1) return 0; if(n==2) return 1; else return f(n-1)+f(n-2); }