Computer >> Máy Tính >  >> Lập trình >> Python

Chương trình kiểm tra số đã cho là một thuật ngữ Fibonacci trong Python

Giả sử chúng ta có một số nói n. Chúng ta phải kiểm tra xem n có trong dãy Fibonacci hay không. Như chúng ta đã biết trong dãy Fibonacci f (i) =f (i-1) + f (i-2) với mỗi i từ 2 đến n và f (0) =0, f (1) =1.

Vì vậy, nếu đầu vào là n =13, thì đầu ra sẽ là Đúng, vì một số số hạng trong dãy Fibonacci là:0, 1, 1, 2, 3, 5, 8, 13, 21, 34, vì vậy 34 là hiện tại .

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • phi:=0,5 + 0,5 * căn bậc hai của (5,0)
  • a:=phi * n
  • trả về true khi n giống 0 hoặc a là số nguyên

Ví dụ

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

from math import sqrt
def solve(n):
   phi = 0.5 + 0.5 * 5.0**0.5
   a = phi * n
   return n == 0 or abs(round(a) - a) < 1.0 / n

n = 13
print(solve(n))

Đầu vào

13

Đầu ra

True