C语言学习与进阶

打印Fibonacci数列

2016-10-19  本文已影响7人  PZcoder
Fibonacci菲波那切数列为 1,1,2,3,5,8,13,21…,请找出规律并打印出该数列的前40个数.每打印5个数换行

函数方法:
int fibonacci(int x)
{
    int cur = 0;
    
    if (x == 1)
    {
        cur = 0;
    }
    else if(x == 2)
    {
        cur = 1;
    }
    else
    {
        cur = fibonacci(x - 1)+fibonacci(x - 2);
    }
    
    return cur;
}


循环方法1

int before = 0;
int cur = 1;

for (int i = 0; i < 40; i ++)
{
    
    printf("%d ",before);
    
    int temp = cur;
    
    cur += before;
    before = temp;
    
    if ((i + 1) % 5 == 0)
    {
        printf("\n");
    }
}


循环方法2

int before = 0;
int temp = 0;
int current = 1;

for (int i = 1; i <= 40; i ++)
{
    printf("%d  ",before);
    
    current +=before;
    temp = before;
    before = current;
    current = temp;
    
    if (i % 5 == 0)
    {
        printf("\n");
    }
}

上一篇 下一篇

猜你喜欢

热点阅读