C语言 用递归法求斐波那契数列第n项值 不要复制粘贴的

如题所述

#include <stdio.h>

int fun(int n)
{
if( n == 1 || n == 2) // 递归结束的条件,求前两项
return 1;
else
return fun(n-1)+ fun(n-2); // 如果是求其它项,先要求出它前面两项,然后做和。
}

int main()
{
int n;

printf("please input n: ");
scanf("%d",&n);

printf("Result: %d\n", fun(n));
return 0;
}
哪儿不明白就继续追问
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-09-17

f(0)=0,f(1)=1,可得如下代码:

#include <stdio.h>

int fabnaci(int n)
{
    if (n == 0)return 0;
    if (n == 1)return 1;
    return fabnaci(n-1)+fabnaci(n-2);
}

int main()
{
    int n;
    scanf ("%d", &n);
    printf ("%d\n", fabnaci(n));
    return 0;
}

第2个回答  2015-09-17
相似回答