Chinaunix首页 | 论坛 | 博客
  • 博客访问: 27793
  • 博文数量: 8
  • 博客积分: 205
  • 博客等级: 入伍新兵
  • 技术积分: 67
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-25 18:20
文章分类
文章存档

2012年(1)

2011年(7)

最近访客

分类: C/C++

2011-11-16 02:20:05

递归法:

  1. #include
    long long  fib(int);
    int main()
    {
        printf("the value is %lld\n",fib(100));
        return 1;

    }
    long long fib(int n)
    {
        if(n==1||n==0)return 1;
        else
        return (fib(n-1)+fib(n-2));
    }



迭代法:
  1. #include
    #define N 100
    long long fun( int);
    int main()
    {
        printf("the value is %lld\n",fun(50));
        return 1;

    }
    long long  fun(int n)
    {
        long i;
        long long Fib[N];
        Fib[0]=1;Fib[1]=1;
        for(i=2;i<=n;i++)
        Fib[i]=Fib[i-1] + Fib[i-2];
        return Fib[n];
    }

阅读(2116) | 评论(7) | 转发(2) |
给主人留下些什么吧!~~

☆彼岸★花开2011-11-19 22:41:48

20365008896恩,需要35位了

ideal_gjh2011-11-19 22:12:57

☆彼岸★花开: N=100不会溢出吧.....
数组是不会呵,是函数值

☆彼岸★花开2011-11-19 21:34:52

N=100不会溢出吧

ideal_gjh2011-11-19 21:31:15

☆彼岸★花开: 为什么要longlong呢?.....
避免溢出

☆彼岸★花开2011-11-19 19:32:13

为什么要longlong呢?