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

पायथन में प्राइम अरेंजमेंट्स


हमें 1 से n के क्रमचयों की संख्या ढूंढनी है, ताकि अभाज्य संख्याएं अभाज्य इंडेक्स पर रखी जाएं। उत्तर बड़े हो सकते हैं, उत्तर को 10^9 + 7 मॉड्यूलो लौटाएं। इसलिए यदि n = 5, तो आउटपुट 12 होगा। तो 12 क्रमचय होंगे। एक संभावित क्रमचय [1,2,5,4,3] होगा, एक अमान्य क्रमचय [5,2,3,4,1] है क्योंकि 5 इंडेक्स 1 पर रखा गया है, जो अभाज्य नहीं है।

समाधान के चरण

  • getNum नामक एक मेथड परिभाषित करें, जैसा कि निम्न है:
  • prime := 2 से 100 तक सभी अभाज्य संख्याओं की सूची
  • i := 0 सेट करें
  • जब तक i < prime लिस्ट की लंबाई
    • यदि prime[i] > n, तो i लौटाएं
    • i := i + 1
  • prime की लंबाई लौटाएं
  • वास्तविक समस्या निम्नानुसार हल होगी
  • x := getNum(n), p := 1, m := 10^9 + 7
  • for i := x down to 0
    • p := p * i
    • p := p mod m
  • for i := n - x down to 0
    • p := p * i
    • p := p mod m
  • p लौटाएं

उदाहरण

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

class Solution(object):
    def getNum(self, n):
        primes = [2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97]
        i = 0
        while i < len(primes):
            if primes[i] > n:
                return i
            i += 1
        return len(primes)
    def numPrimeArrangements(self, n):
        """
        :type n: int
        :rtype: int
        """
        x = self.getNum(n)
        p = 1
        m = 1000000000 + 7
        for i in range(x, 0, -1):
            p *= i
            p %= m
        for i in range(n - x, 0, -1):
            p *= i
            p %= m
        return p

ob1 = Solution()
print(ob1.numPrimeArrangements(100))

इनपुट

100

आउटपुट

682289015

  1. पायथन प्रोग्राम: अभाज्य संख्या जांचें पायथन प्रोग्राम: अभाज्य संख्या जांचें

    इस लेख में हम दी गई समस्या के समाधान के बारे में जानेंगे। समस्या कथन हमें एक संख्या दी गई है, हमें जांचना है कि दी गई संख्या अभाज्य संख्या है या नहीं। 1 से बड़ी दी गई धनात्मक संख्या जिसके 1 और संख्या स्वयं के अलावा कोई अन्य गुणनखंड नहीं होते, उसे अभाज्य संख्या कहा जाता है। 2, 3, 5, 7 आदि अभाज्य संख्

  1. पायथन प्रोग्राम: संख्या के यूनिक प्राइम फैक्टर्स का गुणनफल पायथन प्रोग्राम: संख्या के यूनिक प्राइम फैक्टर्स का गुणनफल

    इस लेख में, हम नीचे दिए गए प्रॉब्लम स्टेटमेंट के समाधान के बारे में सीखेंगे: प्रॉब्लम स्टेटमेंट एक संख्या n दिए जाने पर, हमें इसके सभी यूनिक प्राइम फैक्टर्स का गुणनफल ढूंढना है और इसे वापस करना है। उदाहरण के लिए Input: num = 11 Output: Product is 11 व्याख्या यहां, इनपुट संख्या 11 है जिसमें केवल

  1. पायथन में issuperset() फंक्शन पायथन में issuperset() फंक्शन

    इस लेख में, हम पायथन में issuperset() और विभिन्न क्षेत्रों में इसके कार्यान्वयन के बारे में जानेंगे।यह मेथड बूलियन True वापस करता है यदि सेट B के सभी तत्व सेट A के सभी तत्वों को समाहित करते हैं जिसे तर्क के रूप में पारित किया जाता है और झूठा वापस करता है यदि A के सभी तत्व B में मौजूद नहीं हैं।इसका म