searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

如何用 C 语言实现斐波那契数列

2023-11-29 09:36:16
1
0

斐波那契数列(Fibonacci sequence)是一个非常简单的数列,它的定义如下:

F(0) = 0F(1) = 1F(n) = F(n-1) + F(n-2)

斐波那契数列的特点是,每一项的值都是前两项之和。比如,前 10 项斐波那契数列为:

0, 1, 1, 2, 3, 5, 8, 13, 21, 34

斐波那契数列在计算机科学、数学、物理学、生物学等领域都有广泛的应用。

在 C 语言中,我们可以用递归函数来实现斐波那契数列。递归函数的定义如下:

int fibonacci(int n) {

    if (n == 0) {

        return 0;

    } else if (n == 1) {

        return 1;

    } else {

        return fibonacci(n - 1) + fibonacci(n - 2);

    }

}

这个函数的实现非常简单,我们只需要在递归函数中调用自己就可以了。

我们可以用这个函数来计算前 10 项斐波那契数列:

#include <stdio.h>

int fibonacci(int n) {

    if (n == 0) {

        return 0;

    } else if (n == 1) {

        return 1;

    } else {

        return fibonacci(n - 1) + fibonacci(n - 2);

    }

}

int main() {

    int i;

    for (i = 0; i < 10; i++) {

        printf("%d  ", fibonacci(i));

    }

    printf("\n");

    return 0;

}

这个程序的输出结果为:

0  1  1  2  3  5  8  13  21  34

除了用递归函数,我们还可以用迭代函数来实现斐波那契数列。迭代函数的定义如下:

int fibonacci(int n) {

    int a = 0;

    int b = 1;

    for (int i = 0; i < n; i++) {

        int c = a + b;

        a = b;

        b = c;

    }

    return a;

}

这个函数的实现也非常简单,我们只需要在迭代函数中不断更新 a 和 b 的值就可以了。

我们可以用这个函数来计算前 10 项斐波那契数列:

#include <stdio.h>

int fibonacci(int n) {

    int a = 0;

    int b = 1;

    for (int i = 0; i < n; i++) {

        int c = a + b;

        a = b;

        b = c;

    }

    return a;

}

int main() {

    int i;

    for (i = 0; i < 10; i++) {

        printf("%d  ", fibonacci(i));

    }

    printf("\n");

    return 0;

}

这个程序的输出结果为:

0  1  1  2  3  5  8  13  21  34

斐波那契数列是一个非常简单的数列,但是它在计算机科学、数学、物理学、生物学等领域都有广泛的应用。在 C 语言中,我们可以用递归函数或者迭代函数来实现斐波那契数列。

 

0条评论
0 / 1000
易乾
593文章数
0粉丝数
易乾
593 文章 | 0 粉丝
原创

如何用 C 语言实现斐波那契数列

2023-11-29 09:36:16
1
0

斐波那契数列(Fibonacci sequence)是一个非常简单的数列,它的定义如下:

F(0) = 0F(1) = 1F(n) = F(n-1) + F(n-2)

斐波那契数列的特点是,每一项的值都是前两项之和。比如,前 10 项斐波那契数列为:

0, 1, 1, 2, 3, 5, 8, 13, 21, 34

斐波那契数列在计算机科学、数学、物理学、生物学等领域都有广泛的应用。

在 C 语言中,我们可以用递归函数来实现斐波那契数列。递归函数的定义如下:

int fibonacci(int n) {

    if (n == 0) {

        return 0;

    } else if (n == 1) {

        return 1;

    } else {

        return fibonacci(n - 1) + fibonacci(n - 2);

    }

}

这个函数的实现非常简单,我们只需要在递归函数中调用自己就可以了。

我们可以用这个函数来计算前 10 项斐波那契数列:

#include <stdio.h>

int fibonacci(int n) {

    if (n == 0) {

        return 0;

    } else if (n == 1) {

        return 1;

    } else {

        return fibonacci(n - 1) + fibonacci(n - 2);

    }

}

int main() {

    int i;

    for (i = 0; i < 10; i++) {

        printf("%d  ", fibonacci(i));

    }

    printf("\n");

    return 0;

}

这个程序的输出结果为:

0  1  1  2  3  5  8  13  21  34

除了用递归函数,我们还可以用迭代函数来实现斐波那契数列。迭代函数的定义如下:

int fibonacci(int n) {

    int a = 0;

    int b = 1;

    for (int i = 0; i < n; i++) {

        int c = a + b;

        a = b;

        b = c;

    }

    return a;

}

这个函数的实现也非常简单,我们只需要在迭代函数中不断更新 a 和 b 的值就可以了。

我们可以用这个函数来计算前 10 项斐波那契数列:

#include <stdio.h>

int fibonacci(int n) {

    int a = 0;

    int b = 1;

    for (int i = 0; i < n; i++) {

        int c = a + b;

        a = b;

        b = c;

    }

    return a;

}

int main() {

    int i;

    for (i = 0; i < 10; i++) {

        printf("%d  ", fibonacci(i));

    }

    printf("\n");

    return 0;

}

这个程序的输出结果为:

0  1  1  2  3  5  8  13  21  34

斐波那契数列是一个非常简单的数列,但是它在计算机科学、数学、物理学、生物学等领域都有广泛的应用。在 C 语言中,我们可以用递归函数或者迭代函数来实现斐波那契数列。

 

文章来自个人专栏
文章 | 订阅
0条评论
0 / 1000
请输入你的评论
0
0