Trong bài viết này, chúng ta sẽ tìm hiểu về giải pháp cho câu lệnh vấn đề được đưa ra bên dưới -
Tuyên bố vấn đề
Cho một số n, hãy kiểm tra xem n có phải là số Fibonacci hay không
Tất cả chúng ta đều biết rằng số Fibonacci thứ n là tổng của hai số Fibonacci trước đó. Nhưng chúng cũng cung cấp một mối quan hệ thú vị khác với mối quan hệ lặp lại.
Một số có bản chất là Fibonacci nếu và chỉ khi (5 * n2 + 4) hoặc (5 * n2 - 4) là một hình vuông hoàn hảo.
Chúng tôi sẽ sử dụng thuộc tính này để kiểm tra xem một số có phải là Fibonacci hay không.
Bây giờ chúng ta hãy xem việc triển khai tập lệnh Python -
Ví dụ
import math # if x is perfect square def isPerfectSquare(x): s = int(math.sqrt(x)) return s*s == x # if n is a Fibinacci Number def isFibonacci(n): #if one of 5*n*n + 4 or 5*n*n - 4 or both is a perferct square return isPerfectSquare(5*n*n + 4) or isPerfectSquare(5*n*n - 4) for i in range(1,11): if (isFibonacci(i) == True): print (i,"is a Fibonacci Number") else: print (i,"is a not Fibonacci Number")
Đầu ra
1 is a Fibonacci Number 2 is a Fibonacci Number 3 is a Fibonacci Number 4 is a not Fibonacci Number 5 is a Fibonacci Number 6 is a not Fibonacci Number 7 is a not Fibonacci Number 8 is a Fibonacci Number 9 is a not Fibonacci Number 10 is a not Fibonacci Number
Tất cả các hàm và biến được khai báo trong khung toàn cục như trong hình bên dưới -
Kết luận
Trong bài viết này, chúng ta đã tìm hiểu giải pháp xác định rằng số đã cho có phải là Fibonacci hay không.