Kiểm tra mảng có phải là một dãy số Fibonacci hay không trong C
Dãy Fibonacci là một dãy số trong đó mỗi số là tổng của hai số trước đó trong dãy. Trong lập trình, đôi khi mình cần kiểm tra xem một mảng các số có phải là một dãy Fibonacci hay không. Trong bài viết này, mình sẽ tìm hiểu cách kiểm tra điều này bằng cách sử dụng ngôn ngữ lập trình C.

Bài tập Kiểm tra mảng có phải là một dãy số Fibonacci hay không trong C
Cách giải quyết:
Để kiểm tra xem một mảng các số có phải là một dãy Fibonacci hay không, mình sẽ kiểm tra từng phần tử của mảng xem chúng có tuân theo quy tắc Fibonacci không. Cụ thể, mỗi phần tử trong mảng, trừ hai phần tử đầu tiên, phải bằng tổng của hai phần tử trước đó.
Dưới đây là một ví dụ về cách cài đặt kiểm tra mảng có phải là một dãy số Fibonacci hay không trong ngôn ngữ lập trình C:
Bài viết này được đăng tại [free tuts .net]
#include <stdio.h>
int isFibonacci(int arr[], int n) {
if (n <= 2)
return 1; // Nếu mảng có 2 phần tử trở xuống, nó sẽ luôn là dãy Fibonacci
for (int i = 2; i < n; i++) {
if (arr[i] != arr[i-1] + arr[i-2])
return 0; // Nếu một phần tử không phải tổng của hai phần tử trước đó, mảng không phải là dãy Fibonacci
}
return 1; // Nếu mảng thỏa mãn điều kiện của dãy Fibonacci
}
int main() {
int n;
printf("Nhập số phần tử của mảng: ");
scanf("%d", &n);
int arr[n];
printf("Nhập các phần tử của mảng:\n");
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
if (isFibonacci(arr, n))
printf("Mảng đã nhập là một dãy Fibonacci.\n");
else
printf("Mảng đã nhập không phải là một dãy Fibonacci.\n");
return 0;
}
Giải thích code:
- Trong hàm
isFibonacci(), mình kiểm tra từng phần tử của mảng để xem nó có tuân theo quy tắc Fibonacci hay không. - Nếu một phần tử không phải tổng của hai phần tử trước đó, mình trả về 0, ngược lại trả về 1.
- Trong hàm
main(), mình nhập số phần tử của mảng và các phần tử của mảng từ người dùng. - Sau đó, mình gọi hàm
isFibonacci()để kiểm tra xem mảng đã nhập có phải là dãy Fibonacci hay không và in ra kết quả tương ứng.
Kết quả
Giả sử bạn nhập các phần tử của mảng là 1 1 2 3 5, chương trình sẽ xuất ra rằng "Mảng đã nhập là một dãy Fibonacci."

Trong bài viết này, mình đã tìm hiểu cách kiểm tra xem một mảng các số có phải là một dãy Fibonacci hay không trong ngôn ngữ lập trình C. Điều này là một trong những kỹ thuật quan trọng khi xử lý mảng và kiểm tra điều kiện trong lập trình.

Các kiểu dữ liệu trong C ( int - float - double - char ...)
Thuật toán tìm ước chung lớn nhất trong C/C++
Cấu trúc lệnh switch case trong C++ (có bài tập thực hành)
ComboBox - ListBox trong lập trình C# winforms
Random trong Python: Tạo số random ngẫu nhiên
Lệnh cin và cout trong C++
Cách khai báo biến trong PHP, các loại biến thường gặp
Download và cài đặt Vertrigo Server
Thẻ li trong HTML
Thẻ article trong HTML5
Cấu trúc HTML5: Cách tạo template HTML5 đầu tiên
Cách dùng thẻ img trong HTML và các thuộc tính của img
Thẻ a trong HTML và các thuộc tính của thẻ a thường dùng