Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

주어진 숫자를 확인하는 프로그램은 Python의 피보나치 용어입니다.

<시간/>

n이라는 숫자가 있다고 가정합니다. n이 피보나치 수열에 존재하는지 여부를 확인해야 합니다. 피보나치 수열에서 알 수 있듯이 f(i) =f(i-1) + f(i-2)는 2에서 n까지의 각 i에 대해 f(0) =0, f(1) =1입니다.

따라서 입력이 n =13과 같으면 피보나치 수열의 일부 항이 0, 1, 1, 2, 3, 5, 8, 13, 21, 34이므로 34가 존재하므로 출력은 True가 됩니다. .

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

  • 파이:=0.5 + 0.5 * (5.0)의 제곱근
  • a :=파이 * n
  • n이 0과 같거나 a가 정수인 경우 true를 반환

예시

이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

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))

입력

13

출력

True