溫馨提示×

C語言怎么解決Fibonacci數列問題

小億
121
2023-10-30 11:36:22
欄目: 編程語言

在C語言中,可以使用循環或遞歸的方式來解決Fibonacci數列問題。

  1. 使用循環解決Fibonacci數列問題:
#include <stdio.h>

int fibonacci(int n)
{
    if (n <= 1) {
        return n;
    }

    int first = 0;
    int second = 1;
    int result = 0;

    for (int i = 2; i <= n; i++) {
        result = first + second;
        first = second;
        second = result;
    }

    return result;
}

int main()
{
    int n;
    printf("請輸入一個正整數:");
    scanf("%d", &n);

    printf("第%d個Fibonacci數是:%d\n", n, fibonacci(n));

    return 0;
}
  1. 使用遞歸解決Fibonacci數列問題:
#include <stdio.h>

int fibonacci(int n)
{
    if (n <= 1) {
        return n;
    }

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

int main()
{
    int n;
    printf("請輸入一個正整數:");
    scanf("%d", &n);

    printf("第%d個Fibonacci數是:%d\n", n, fibonacci(n));

    return 0;
}

以上兩種方法都能夠解決Fibonacci數列問題,但是使用遞歸的方式效率較低,特別是對于較大的n值,遞歸方式會有很多重復計算,因此使用循環方式是更好的選擇。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女