Chinaunix首页 | 论坛 | 博客
  • 博客访问: 76780
  • 博文数量: 23
  • 博客积分: 1400
  • 博客等级: 上尉
  • 技术积分: 305
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-17 10:46
文章分类

全部博文(23)

文章存档

2011年(1)

2010年(2)

2009年(4)

2008年(16)

我的朋友

分类:

2008-07-21 23:09:52

【问题】   编写计算斐波那契(Fibonacci)数列的第n项函数fib(n)。
  斐波那契数列为:0、1、1、2、3、……,即:
    fib(0)=0;
    fib(1)=1;
    fib(n)=fib(n-1)+fib(n-2)     (当n>1时)。
写成递归函数有:
int fib(int n)
{   if (n==0)     return 0;
  if (n==1)     return 1;
  if (n>1)     return fib(n-1)+fib(n-2);
}

迭代算法(递推算法):
int fib(int n)
{
   int x,y,z;
   if (n==0)
   {
      return 0;

   }
   else
   {
    x = 0;
    y = 1;
    z = 0;
    for( i = 1; i < n - 1; i++ )
    {
       z = x + y;
       x = y;
       y = z;
    }
    return y;
}
阅读(3499) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:常用算法

给主人留下些什么吧!~~