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

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

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

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

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

उदाहरण

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

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 प

  1. issuperset () पायथन में

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