Trong thế giới của những con số huyền bí, dãy Fibonacci luôn là nguồn cảm hứng đặc biệt cho các nhà toán học và lập trình viên. Dãy Fibonacci là dãy số vô hạn bắt đầu với hai phần tử ban đầu là ~1~ và ~1~, và sau đó mỗi số tiếp theo được tính bằng tổng của hai số liền trước, theo công thức:
- ~F(1) = 1~;
- ~F(2) = 1~;
- ~F(n) = F(n-1) + F(n-2)~ (với ~n > 2~).
Như vậy, dãy Fibonacci gồm các số: ~1, 1, 2, 3, 5, 8, 13, …~ và nhiều con số khác, được biết đến với đặc tính tăng trưởng nhanh và có ứng dụng rộng rãi trong nhiều lĩnh vực.
Trong bài toán này, bạn được cho một mảng ~A~ gồm ~N~ số nguyên dương "lớn", được biểu diễn là ~A_1, A_2, …, A_N~. Nhiệm vụ của bạn là đếm xem trong mảng ~A~ có bao nhiêu số thuộc dãy Fibonacci. Bạn cần kiểm tra từng phần tử trong mảng và xác định liệu nó có nằm trong dãy Fibonacci hay không, sau đó in ra số lượng các số Fibonacci tìm được.
Input
- Dòng đầu chứa số nguyên dương ~N~ ~(N \leq 10^5)~
- Tiếp theo ~N~ dòng, mỗi dòng chứa một số nguyên dương "lớn" ~A_i~ có độ dài không vượt quá ~10^5~.
- Tổng độ dài các số nguyên dương "lớn" ~A_i~ không vượt quá ~3 \times 10^8~.
Output
- Một số nguyên duy nhất là số lượng các số Fibonacci có trong mảng ~A~.
Sample Input
5
1
2
3
4
5
Sample Output
4
Notes
- Các số Fibonacci trong mảng ~A~ là: ~1, 2, 3, 5~.
Bình luận