在C語言中,可以使用循環或遞歸的方式來解決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;
}
#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值,遞歸方式會有很多重復計算,因此使用循環方式是更好的選擇。