C语言斐波那契数列的前N项 循环和递归斐波那契数列规律如下:1, 1, 2, 3, 5, 8, 13

C语言斐波那契数列的前N项 循环和递归斐波那契数列。斐波那契数列规律如下:1, 1, 2, 3, 5, 8, 13,21, 34,55…,从第三项开始,每一项都是前面两项的和。

/*
 * 分别用循环和递归求斐波那契数列的前N项,定义其第0 第1项为1  比较其优劣
*/
#include 

int func(int n)
{
#if 0  //递归方法
    if(n==0 || n==1)
    {
       return 1;
    }
    return func(n-1)+func(n-2);
#else  //循环方法
    int a,b,c,i;
    if(n==0 || n==1)
    {
       return 1;
    }
    a=1;
    b=1;
    c=a+b;
    for(i=3;i<=n;i++)
    {
       a=b;
       b=c;
       c=a+b;
    }
    return c;
#endif //
}

int main(void)
{
    int i,N;

    printf("input int N:");
    scanf("%d",&N);

    printf("斐波那契数列的前N项:");
    for(i=0;i<=N;i++)
    {
        printf("%d ",func(i));
        fflush(stdout);
    }
    putchar('\n');
    return 0;
}

运行结果

input int N:8
斐波那契数列的前N项:1 1 2 3 5 8 13 21 34

你可能感兴趣的:(C语言,算法,c语言)