Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2529360
  • 博文数量: 308
  • 博客积分: 5547
  • 博客等级: 大校
  • 技术积分: 3782
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-24 09:47
个人简介

hello world.

文章分类

全部博文(308)

分类: C/C++

2010-07-22 14:49:54

    斐波那契数列,可以说是迭代算法的经典例子,用数学表达式进行表达即为f(x)=f(x-1)+f(x-2),f(1)=f(2)=1;用迭代算法编写程序,代码如下:

#include <stdio.h>

int fib(int);
int main(int argc,int *argv[])
{
    int i;
    for(i=1;i<21;i++)
    {
                     printf("%d ",fib(i));
    }
    system("pause");
    return 0;
}

int fib(int number)
{
    if ( number <= 0 )
    {
       return 0;
    }
    if (number == 1 || number == 2)
    {
       return 1;
    }
    
    int f1=1,f2=1,fn;
    int i;
    
    for (i=3;i<=number;++i)
    {
        fn = f1 +f2;
        f1 = f2;
        f2 = fn;
    }
    
    return fn;
}


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