迪迦


私信TA

用户名:dotcpp0776032

访问量:599

签 名:

等  级
排  名 7059
经  验 1326
参赛次数 0
文章发表 25
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

递归:

#include <stdio.h>
int Input()
{
    int N;
    scanf("%d", &N);
    return N;
}

int Fibonacci(int N)
{
    for (int i = 0; i < N; i++)
    {
        if (N == 1 || N == 2)
        {
            return 1;
        }
        else
            return Fibonacci(N - 1) + Fibonacci(N - 2);
    }
}

void Output(int N)
{
    for (int i = 1; i <= N; i++)
    {
        printf("%d ", Fibonacci(i));
    }
}

int main()
{
    int N = Input();
    Fibonacci(N);
    Output(N);
    return 0;
}



迭代:

#include <stdio.h>

int Input()
{
    int N;
    scanf("%d", &N);
    return N;
}

int Fibonacci(int N)
{
    int result = 0, pre_result = 1, pre_pre_result = 1;
    if (N <= 2)
    {
        result = 1;
    }
    while (N > 2)
    {
        result = pre_result + pre_pre_result;
        pre_pre_result = pre_result;
        pre_result = result;
        N--;
    }
    return result;
}

void Output(int N)
{
    for (int i = 1; i <= N; i++)
    {
        printf("%d ", Fibonacci(i));
    }
}
int main()
{
    int N = Input();
    Fibonacci(N);
    Output(N);
    return 0;
}


 

0.0分

0 人评分

  评论区

  • «
  • »