C语言实现一个FIBONACCI数发生器

来源:互联网 发布:易语言钩子注入源码 编辑:程序博客网 时间:2024/06/05 11:28

#include <stdio.h>long fib_recursion(long num)   //使用递归方法实现{    if(num == 1 || num == 2)        return 1;    else        return fib_recursion(num - 1) +fib_recursion(num -2);}long fib_non_recursion(long num)    //非递归方法实现{    int temp[2];    temp[0] = 1;    temp[1] = 1;    if(num == 1 || num == 2)        return 1;    else    {        int i = 0;        int tp = 0;        for(i = 2;i < num;i ++)        {            tp = temp[0] + temp[1];            temp[1] = temp[0];            temp[0] = tp;        }        return tp;    }}int main(void)     //测试代码{    printf("fib_recursion(5) =%ld.\n",fib_recursion(5) );    printf("fib_recursion(6) =%ld.\n",fib_recursion(6) );    printf("fib_non_recursion(5) =%ld.\n",fib_non_recursion(5) );    printf("fib_non_recursion(6) =%ld.\n",fib_non_recursion(6) );    return 0;}