C語言遞推算法怎么實(shí)現(xiàn)

小億
157
2023-12-01 23:18:34
欄目: 編程語言

在C語言中,可以使用循環(huán)結(jié)構(gòu)來實(shí)現(xiàn)遞推算法。以下是一個(gè)實(shí)現(xiàn)斐波那契數(shù)列的遞推算法的示例:

#include <stdio.h>

int fibonacci(int n) {
    int a = 0, b = 1, c, i;
    
    if (n == 0)
        return a;
    
    for (i = 2; i <= n; i++) {
        c = a + b;
        a = b;
        b = c;
    }
    
    return b;
}

int main() {
    int n;
    
    printf("Enter the value of n: ");
    scanf("%d", &n);
    
    printf("The %dth number in the Fibonacci sequence is: %d\n", n, fibonacci(n));
    
    return 0;
}

在該示例中,fibonacci函數(shù)使用循環(huán)和兩個(gè)變量ab來計(jì)算第n個(gè)斐波那契數(shù)。初始值為a=0,b=1,然后通過循環(huán)計(jì)算c=a+b,然后更新a=b,b=c,如此循環(huán)迭代直到計(jì)算到第n個(gè)斐波那契數(shù)。

main函數(shù)中,用戶輸入一個(gè)整數(shù)n,然后調(diào)用fibonacci函數(shù)來計(jì)算第n個(gè)斐波那契數(shù),并將結(jié)果打印出來。

以上是一個(gè)簡(jiǎn)單的遞推算法的實(shí)現(xiàn)示例,你可以根據(jù)具體的問題和遞推關(guān)系來實(shí)現(xiàn)遞推算法。

0