이 기사에서 우리는 아래 주어진 문제 설명에 대한 해결책에 대해 배울 것입니다 -
문제 설명
숫자 n이 주어지면 n이 피보나치 수인지 확인하십시오.
n번째 피보나치 수는 앞의 두 피보나치 수의 합이라는 것은 모두 알고 있습니다. 그러나 그들은 또한 반복 관계 외에 흥미로운 관계를 제공합니다.
숫자는 본질적으로 (5*n2 + 4) 또는 (5*n2 – 4)가 완전제곱일 경우에만 피보나치입니다.
이 속성을 사용하여 숫자가 피보나치인지 여부를 확인합니다.
이제 Python 스크립트의 구현을 살펴보겠습니다 -
예시
수학 가져오기# x가 완전제곱식이면 isPerfectSquare(x):s =int(math.sqrt(x)) return s*s ==x# if n이 피비나치 수def isFibonacci(n):#if 하나의 5 *n*n + 4 또는 5*n*n - 4 또는 둘 다 완전제곱수 반환 isPerfectSquare(5*n*n + 4) 또는 isPerfectSquare(5*n*n - 4) for i in range(1,11 ):if (isFibonacci(i) ==True):print(i,"는 피보나치 수입니다") else:print(i,"는 피보나치 수가 아닙니다")
출력
1은 피보나치 수입니다2는 피보나치 수입니다3는 피보나치 수입니다4는 피보나치 수입니다5는 피보나치 수입니다6은 피보나치 수입니다7은 피보나치 수입니다8은 피보나치 수입니다9는 피보나치 수입니다10은 피보나치 수가 아닙니다사전>모든 함수와 변수는 아래 이미지와 같이 전역 프레임에 선언됩니다 -
결론
이 기사에서는 주어진 숫자가 피보나치인지 아닌지 식별하는 솔루션을 배웠습니다.