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

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


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

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

समाधान दृष्टिकोण

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

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

उदाहरण

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

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. - पायथन में lambda का उपयोग करके n तक फिबोनाची श्रृंखला खोजें

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

  1. - Python में दिए गए पुनरावृत्ति संबंध का nth पद ढूंढना

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

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

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