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

पायथन में व्युत्क्रम फैक्टोरियल


मान लीजिए हमारे पास एक संख्या a है, हमें n ढूंढना है, जैसे कि n का फैक्टोरियल (n!) a के समान हो। जैसा कि हम जानते हैं, फैक्टोरियल n = n * (n - 1) * (n - 2) * ... * 1। यदि ऐसा कोई पूर्णांक n नहीं है तो -1 लौटाएं।

उदाहरण के लिए, यदि इनपुट है a = 120, तो आउटपुट होगा 5।

हल करने के चरण

  • i := 0, num := 1
  • L := एक नई सूची।
  • जब तक i < a:
    • i := num का फैक्टोरियल।
    • i को L के अंत में डालें।
    • num := num + 1
  • यदि a L में है, तो (L में a का इंडेक्स) + 1 लौटाएं।
  • अन्यथा, -1 लौटाएं।

उदाहरण

import math
class Solution:
    def solve(self, a):
        i, num = 0, 1
        L = []
        while i < a:
            i = math.factorial(num)
            L.append(i)
            num += 1
        if a in L:
            return L.index(a) + 1
        else:
            return -1

ob = Solution()
print(ob.solve(120))

इनपुट

120

आउटपुट

5
  1. पायथन प्रोग्राम: संख्या का फैक्टोरियल पायथन प्रोग्राम: संख्या का फैक्टोरियल

    इस लेख में, हम दिए गए प्रॉब्लम स्टेटमेंट को हल करने के समाधान और दृष्टिकोण के बारे में सीखेंगे। प्रॉब्लम स्टेटमेंट – हमारा कार्य n का फैक्टोरियल निकालना है। एक नॉन-नेगेटिव नंबर का फैक्टोरियल निम्न द्वारा दिया जाता है: n! = n * n-1 * n-2 * n-3 * n-4 * ... * 3 * 2 * 1 समस्या के दो संभावित समाधान हैं:

  1. - पायथन में रिकर्सिव फंक्शन कैसे लिखें?

    रिकर्सिव फंक्शन वह फंक्शन होता है जो अपने निष्पादन के दौरान स्वयं को कॉल करता है। यह समस्या को छोटे उप-समस्याओं में तोड़कर हल करता है। आधारभूत संरचना def recursive_function(parameters): if base_case_condition: # बेस केस - रिकर्सन रोकने की शर्त return base_value else:

  1. - पायथन में रिकर्सन और बैकट्रैकिंग क्या है?

    रिकर्सन 0। बैकट्रैकिंग बैकट्रैकिंग कुछ कम्प्यूटेशनल समस्याओं के समाधान खोजने के लिए एक सामान्य एल्गोरिदम है, जो समाधानों के लिए विकल्पों को बढ़ाकर बनाता है, और उन ट्रैक्स की निरंतर प्रोसेसिंग को अस्वीकार करता है जो असंभव समाधानों की ओर ले जाएंगे। बैकट्रैकिंग हमें पिछले विकल्पों को पूर्ववत करने की