Dãy số Fibonacci được xem như là một biểu tượng thú vị của sự kết nối giữa toán học và thế giới xung quanh, bởi nhiều tính chất và liên hệ đặc biệt của nó. Dãy số này có vô số số hạng, được xác định bởi hai số hạng đầu tiên là ~0~ và ~1~; kể từ số hạng thứ ba, mỗi số hạng bằng tổng hai số hạng liền trước đó. Dưới đây là mười số hạng đầu tiên của dãy số Fibonacci:
~0, 1, 1, 2, 3, 5, 8, 13, 21, 34, ...~
Yêu cầu
Quy ước gọi một số nguyên dương là "số Fibonacci" nếu nó có xuất hiện trong dãy số Fibonacci. Cho trước một dãy gồm ~n~ số nguyên dương, hãy viết chương trình đếm xem có bao nhiêu số Fibonacci trong dãy số đó.
Dữ liệu đầu vào
Gồm hai dòng:
- Dòng đầu tiên chứa số nguyên dương ~n~;
- Dòng thứ hai chứa ~n~ số nguyên dương, hai số liên tiếp ngăn cách nhau bởi một dấu khoảng trắng.
Dữ liệu đầu ra
Gồm một số nguyên trên một dòng duy nhất, tương ứng là số lượng số Fibonacci xuất hiện trong dãy trên.
Ràng buộc dữ liệu
- Subtask 1 (tương ứng 30% số điểm): ~n \le 10^3~, mỗi số hạng trong dãy có giá trị không lớn hơn ~10^4~;
- Subtask 2 (tương ứng 40% số điểm): ~10^3 < n \le 10^4~, mỗi số hạng trong dãy có giá trị không lớn hơn ~10^5~;
- Subtask 3 (tương ứng 30% số điểm): ~10^4 < n \le 10^5~, mỗi số hạng trong dãy có giá trị không lớn hơn ~10^6~.
Ví dụ
Ví dụ 1
INPUT
5
20 24 7 8 9
OUTPUT
1
Giải thích: Trong dãy số ở ví dụ trên có một số fibonacci duy nhất là ~8~.
Bình luận
hi ae