इस लेख में, हम दिए गए प्रॉब्लम स्टेटमेंट को हल करने के समाधान और दृष्टिकोण के बारे में सीखेंगे।
प्रॉब्लम स्टेटमेंट – हमारा कार्य nth फाइबोनैचि नंबर की गणना करना है।
फाइबोनैचि नंबर्स का क्रम Fn नीचे दिए गए पुनरावृत्ति संबंध द्वारा दिया जाता है:
Fn = Fn-1 + Fn-2
सीड वैल्यूज़ (मानक) के साथ:
F₀ = 0 और F₁ = 1।
समस्या के दो संभावित समाधान हैं:
- रिकर्सिव दृष्टिकोण
- डायनामिक दृष्टिकोण
दृष्टिकोण 1 – रिकर्सिव दृष्टिकोण
उदाहरण
# रिकर्सिव दृष्टिकोण
def Fibonacci(n):
if n < 0:
print("Fibonacci can't be computed")
# पहला फाइबोनैचि नंबर
elif n == 1:
return 0
# दूसरा फाइबोनैचि नंबर
elif n == 2:
return 1
else:
return Fibonacci(n-1) + Fibonacci(n-2)
# मेन
n = 10
print(Fibonacci(n))
आउटपुट
34
सभी वेरिएबल्स ग्लोबल स्कोप में घोषित हैं जैसा कि नीचे दी गई छवि में दिखाया गया है:

दृष्टिकोण 2 – डायनामिक दृष्टिकोण
उदाहरण
# डायनामिक दृष्टिकोण
Fib_Array = [0, 1]
def fibonacci(n):
if n < 0:
print("Fibonacci can't be computed")
elif n <= len(Fib_Array):
return Fib_Array[n-1]
else:
temp = fibonacci(n-1) + fibonacci(n-2)
Fib_Array.append(temp)
return temp
# ड्राइवर प्रोग्राम
n = 10
print(fibonacci(n))
आउटपुट
34
सभी वेरिएबल्स ग्लोबल स्कोप में घोषित हैं जैसा कि नीचे दी गई छवि में दिखाया गया है:

निष्कर्ष
इस लेख में, हमने फाइबोनैचि नंबर्स की गणना के दृष्टिकोण के बारे में सीखा।