इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे -
समस्या कथन
एक संख्या n दी गई है, जांचें कि क्या n एक फाइबोनैचि संख्या है या नहीं
हम सभी जानते हैं कि nth फाइबोनैचि संख्या पिछली दो फाइबोनैचि संख्याओं का योग है। लेकिन वे पुनरावृत्ति संबंध के अलावा एक दिलचस्प संबंध भी प्रदान करते हैं।
एक संख्या प्रकृति में फाइबोनैचि होती है यदि और केवल यदि (5*n² + 4) या (5*n² - 4) एक पूर्ण वर्ग है।
हम इस गुण का उपयोग यह जांचने के लिए करेंगे कि कोई संख्या फाइबोनैचि है या नहीं।
अब आइए पायथन स्क्रिप्ट के कार्यान्वयन को देखते हैं -
उदाहरण
import math
# यदि x पूर्ण वर्ग है
def isPerfectSquare(x):
s = int(math.sqrt(x))
return s*s == x
# यदि n एक फाइबोनैचि संख्या है
def isFibonacci(n):
# यदि 5*n*n + 4 या 5*n*n - 4 या दोनों पूर्ण वर्ग हैं
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")
आउटपुट
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
सभी फंक्शन्स और वेरिएबल्स ग्लोबल फ्रेम में घोषित हैं जैसा कि नीचे दी गई छवि में दिखाया गया है -

निष्कर्ष
इस लेख में, हमने दी गई संख्या के फाइबोनैचि होने या न होने की पहचान करने के समाधान के बारे में सीखा।