Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

फाइबोनैचि श्रृंखला को खोजने के लिए कार्यक्रम पायथन में nth टर्म तक परिणाम देता है

मान लीजिए कि हमारे पास एक संख्या n है। हमें पहले n फाइबोनैचि पदों का योग (n पदों तक फाइबोनैचिक्वेंस) ज्ञात करना है। अगर उत्तर बहुत बड़ा है तो परिणाम मॉड्यूलो 10^8 + 7 लौटाएं।

इसलिए, यदि इनपुट n =8 जैसा है, तो आउटपुट 33 होगा क्योंकि पहले कुछ फाइबोनैचि शब्द 0 + 1 + 1 +2 + 3 + 5 + 8 + 13 =33 हैं

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • म :=10^8+7
  • ज्ञापन:=एक नया नक्शा
  • एक फ़ंक्शन को हल करें() परिभाषित करें। इसमें n, m
  • . लगेगा
  • यदि n ज्ञापन में है, तो
    • वापसी ज्ञापन[n]
  • ज्ञापन[n] :=n जब n <2 अन्यथा (हल करें(n-1, m) +हल करें(n-2, m)) mod m
  • वापसी ज्ञापन[n]
  • मुख्य विधि से मेमो मानों की सूची प्राप्त करें और उनका योग लें।

उदाहरण

आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

m = 10**8+7
memo = {}
def solve(n, m):
   if n in memo:
      return memo[n]
   memo[n] = n if n < 2 else (solve(n-1, m)+solve(n-2, m)) % m
   return memo[n]

n = 8
solve(n, m)
print(sum(list(memo.values())[:n]))

इनपुट

8

आउटपुट

33

  1. पायथन में लैम्ब्डा का उपयोग करके n तक फाइबोनैकी श्रृंखला खोजें

    एक फाइबिनैकी श्रृंखला एक व्यापक रूप से ज्ञात गणितीय श्रृंखला है जो कई प्राकृतिक घटनाओं की व्याख्या करती है। यह 0 और 1 से शुरू होता है और फिर अगला पद प्राप्त करने के लिए अपने पिछले पद में एक पद जोड़ता है। इस लेख में हम देखेंगे कि पायथन में लैम्ब्डा फ़ंक्शन का उपयोग करके फिबोनाची श्रृंखला के तत्वों की

  1. पायथन में दिए गए पुनरावर्तन संबंध का nवाँ पद ज्ञात कीजिए

    मान लीजिए कि हमारे पास bn नामक संख्याओं का एक क्रम है, इसे b1=1 और bn+1/bn=2n जैसे पुनरावर्ती संबंध का उपयोग करके दर्शाया जाता है। हमें दिए गए n के लिए log2(bn) का मान ज्ञात करना है। इसलिए, यदि इनपुट 6 जैसा है, तो आउटपुट 5 होगा क्योंकि log2(bn) =(n * (n - 1)) / 2 =(6*(6-1))/2 =15 इस संबंध को हल कर

  1. फाइबोनैचि श्रृंखला में किसी संख्या के nवें गुणक के लिए पायथन कार्यक्रम

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक संख्या दी गई है, हमें फाइबोनैचि संख्या में एक संख्या k का nवां गुणज ज्ञात करना होगा। समस्या के समाधान पर नीचे चर्चा की गई है- उदाहरण # find function def find(k, n):    f1 = 0    f2 = 1 &nb