斐波那契數(shù)列是指每個(gè)數(shù)都是前兩個(gè)數(shù)之和的數(shù)列,即F(0) = 0,F(xiàn)(1) = 1,F(xiàn)(n) = F(n-1) + F(n-2)(n ≥ 2,n ∈ N*)。
下面是一個(gè)使用迭代法實(shí)現(xiàn)斐波那契數(shù)列的C語言代碼:
#include <stdio.h>
int fibonacci(int n) {
if (n <= 0) {
return 0;
} else if (n == 1) {
return 1;
} else {
int fib[n+1];
fib[0] = 0;
fib[1] = 1;
for (int i = 2; i <= n; i++) {
fib[i] = fib[i-1] + fib[i-2];
}
return fib[n];
}
}
int main() {
int n;
printf("請輸入一個(gè)正整數(shù):");
scanf("%d", &n);
int result = fibonacci(n);
printf("斐波那契數(shù)列第%d個(gè)數(shù)是:%d\n", n, result);
return 0;
}
在上面的代碼中,fibonacci()
函數(shù)使用一個(gè)數(shù)組fib
來保存中間結(jié)果,通過迭代的方式計(jì)算斐波那契數(shù)列的第n
個(gè)數(shù)。main()
函數(shù)從用戶輸入中獲取要計(jì)算的斐波那契數(shù)列的位置,并打印結(jié)果。