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

जांचें कि कोई संख्या प्राइमरी प्राइम है या नहीं पायथन में

मान लीजिए कि हमारे पास एक संख्या n है, हमें यह जांचना है कि n एक आदिम अभाज्य है या नहीं। एक संख्या को प्राइमरी अभाज्य कहा जाता है जब यह pN# + 1 या pN# - 1 के रूप की अभाज्य संख्या होती है, जहाँ pN# pN के प्राइमरी को इस तरह इंगित करता है कि पहले N अभाज्य संख्याओं का गुणनफल।

इसलिए, अगर इनपुट 29 की तरह है, तो आउटपुट ट्रू होगा क्योंकि 29 फॉर्म का प्राइमरी प्राइम है pN-1 अगर N=3, प्रिमोरियल 2*3*5 =30 और 30-1 =29 है।

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

  • अधिकतम:=100000
  • प्राइम:=MAX आकार की सूची और ट्रू से भरें
  • गिरफ्तारी:=एक नई सूची
  • एक फ़ंक्शन को परिभाषित करें SieveOfEratosthenes() । इसमें लगेगा
  • प्री के लिए 2 से लेकर int तक ((MAX) का वर्गमूल) + 1, करें
    • अगर प्राइम [प्राइ] ट्रू के समान है, तो
      • आई रेंज में pri * 2 से MAX के लिए, प्रत्येक चरण में pri द्वारा अपडेट करें, do
        • प्राइम[i] :=गलत
  • 2 से MAX की श्रेणी के लिए, करें
    • यदि अभाज्य[pri] शून्य नहीं है, तो
      • गिरफ्तारी के अंत में pri डालें
  • मुख्य विधि से, निम्न कार्य करें -
  • यदि अभाज्य[n] शून्य है, तो
    • झूठी वापसी
  • उत्पाद:=1, i:=0
  • उत्पाद
  • उत्पाद:=उत्पाद * गिरफ्तारी[i]
  • यदि उत्पाद + 1 n के समान है या उत्पाद -1, n के समान है, तो
    • सही लौटें
  • i :=i + 1
  • झूठी वापसी
  • उदाहरण

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

    from math import sqrt
    MAX = 100000
    prime = [True] * MAX
    arr = []
    def SieveOfEratosthenes() :
       for pri in range(2, int(sqrt(MAX)) + 1) :
          if prime[pri] == True :
             for i in range(pri * 2 , MAX, pri) :
                prime[i] = False
       for pri in range(2, MAX) :
          if prime[pri] :
             arr.append(pri)
    def check_primorial_prime(n) :
       if not prime[n] :
          return False
       product, i = 1, 0
       while product < n :
          product *= arr[i]
          if product + 1 == n or product - 1 == n :
             return True
          i += 1
       return False
    SieveOfEratosthenes()
    n = 29
    print(check_primorial_prime(n))

    इनपुट

    29

    आउटपुट

    True

    1. जांचें कि क्या N एक डायहेड्रल प्राइम नंबर है या नहीं पायथन में

      मान लीजिए कि हमारे पास एक संख्या n है। हमें जांचना है कि n डायहेड्रल प्राइम है या नहीं। एक संख्या को डायहेड्रल प्राइम कहा जाता है जब वह संख्या स्वयं अभाज्य होती है और 7-सेगमेंट डिस्प्ले का उपयोग करके समान संख्या या कोई अन्य अभाज्य संख्या भी दिखाई जाती है, भले ही डिस्प्ले का ओरिएंटेशन (सामान्य या ऊपर

    1. प्राइम नंबर चेक करने के लिए पायथन प्रोग्राम

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

    1. कैसे जांचें कि कोई संख्या प्राइम है या पायथन का उपयोग नहीं कर रही है?

      इस समस्या के समाधान में प्रयोग किया जाने वाला सिद्धांत यह है कि दी गई संख्या को उसके वर्गमूल से 3 से विभाजित करना, एक संख्या का वर्गमूल सबसे बड़ा संभावित कारक है जिसके आगे यह जांचना आवश्यक नहीं है कि यह किसी अन्य संख्या से विभाज्य है यह तय करने के लिए कि यह अभाज्य संख्या है। फ़ंक्शन 2 से विभाज्य और