溫馨提示×

C語言怎么解決Fibonacci數(shù)列問題

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

在C語言中,可以使用循環(huán)或遞歸的方式來解決Fibonacci數(shù)列問題。

  1. 使用循環(huán)解決Fibonacci數(shù)列問題:
#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("請輸入一個正整數(shù):");
    scanf("%d", &n);

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

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

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

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

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

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

    return 0;
}

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

0