PYTHON:
# 使用迴圈計算第 n 個費氏數列的值
def fibonacci_iterative(n):
if n <= 0:
return 0
elif n == 1:
return 1
a, b = 0, 1
for _ in range(2, n + 1):
a, b = b, a + b
return b
# 測試迴圈版本
n = 10
print(f"Fibonacci Iterative (n={n}):", fibonacci_iterative(n))
# 使用遞迴計算第 n 個費氏數列的值
def fibonacci_recursive(n):
if n <= 0:
return 0
elif n == 1:
return 1
else:
return fibonacci_recursive(n - 1) + fibonacci_recursive(n - 2)
# 測試遞迴版本
print(f"Fibonacci Recursive (n={n}):", fibonacci_recursive(n))
C++
// 使用迴圈計算第 n 個費氏數列的值(C++ 版本)
#include <iostream>
using namespace std;
int fibonacci_iterative(int n) {
if (n <= 0) {
return 0;
} else if (n == 1) {
return 1;
}
int a = 0, b = 1;
for (int i = 2; i <= n; ++i) {
int temp = b;
b = a + b;
a = temp;
}
return b;
}
// 使用遞迴計算第 n 個費氏數列的值(C++ 版本)
int fibonacci_recursive(int n) {
if (n <= 0) {
return 0;
} else if (n == 1) {
return 1;
} else {
return fibonacci_recursive(n - 1) + fibonacci_recursive(n - 2);
}
}
int main() {
int n = 10;
cout << "Fibonacci Iterative (n=" << n << "): " << fibonacci_iterative(n) << endl;
cout << "Fibonacci Recursive (n=" << n << "): " << fibonacci_recursive(n) << endl;
return 0;
}