chương trình C++ sử dụng đệ quy để tìm số Fibonacci thứ n, trong đó n được nhập từ bàn phím:
### Chương trình C++
```cpp
#include <iostream>
using namespace std;
// Hàm đệ quy để tính số Fibonacci thứ n
int fibonacci(int n) {
if (n <= 0) return 0; // Số Fibonacci thứ 0
else if (n == 1) return 1; // Số Fibonacci thứ 1
else return fibonacci(n - 1) + fibonacci(n - 2); // Đệ quy
}
int main() {
int n;
cout << "Nhập chỉ số n (n >= 0): ";
cin >> n;
if (n < 0) {
cout << "Chỉ số không hợp lệ. Vui lòng nhập n >= 0." << endl;
return 1; // Kết thúc chương trình nếu n không hợp lệ
}
cout << "Số Fibonacci thứ " << n << " là: " << fibonacci(n) << endl;
return 0;
}
```
### Giải thích chương trình:
1. **Hàm `fibonacci(int n)`**:
- Đây là hàm đệ quy để tính số Fibonacci.
- Nếu `n` bằng 0, trả về 0; nếu `n` bằng 1, trả về 1.
- Nếu `n` lớn hơn 1, hàm gọi chính nó với các tham số `n-1` và `n-2`, và trả về tổng của hai giá trị đó.
2. **Trong hàm `main()`**:
- Người dùng được yêu cầu nhập chỉ số `n`.
- Kiểm tra xem giá trị của `n` có hợp lệ không (không âm).
- Gọi hàm `fibonacci(n)` để tính và in ra kết quả.