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

जांचें कि दी गई संख्या यूक्लिड संख्या है या नहीं पायथन में

मान लीजिए कि हमारे पास एक संख्या n है। हमें जांचना है कि n यूक्लिड संख्या है या नहीं। जैसा कि हम जानते हैं कि यूक्लिड संख्याएं पूर्णांक होती हैं जिन्हें

. के रूप में दर्शाया जा सकता है

n=Pn +1

प्रथम n अभाज्य संख्याओं का गुणनफल कहाँ है।

इसलिए, यदि इनपुट n =211 की तरह है, तो आउटपुट ट्रू होगा जिसे

के रूप में दर्शाया जा सकता है

211=(2×3×5×7)+1

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

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

    उदाहरण कोड

    MAX = 10000
    primes = []
     
    def generate_all_primes():
       prime = [True] * MAX
     
       x = 2
       while x * x < MAX :
          if prime[x] == True:
             for i in range(x * 2, MAX, x):
               prime[i] = False
          x += 1
    
       for x in range(2, MAX):
          if prime[x]:
             primes.append(x)
    
    def solve(n):
       generate_all_primes()
       mul = 1
       i = 0
     
       while mul < n :
          mul = mul * primes[i]
          if mul + 1 == n:
             return True
          i += 1
       return False
    
    n = 211
    print(solve(n))

    इनपुट

    211

    आउटपुट

    True

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

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

    1. पायथन में दी गई संख्या नार्सिसिस्टिक नंबर है या नहीं, यह जांचने के लिए प्रोग्राम

      मान लीजिए हमारे पास एक संख्या n है; हमें यह जांचना होगा कि क्या यह अंकों की संख्या के घात के अंकों के योग के बराबर है। इसलिए, अगर इनपुट 9474 जैसा है, तो आउटपुट सही होगा क्योंकि 9^4 + 4^4 + 7^4 + 4^4 =6561 + 256 +2401 + 256 =9474. इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - s :=n के अंकों की

    1. पायथन में दिया गया ग्राफ द्विदलीय है या नहीं, यह जांचने के लिए कार्यक्रम

      मान लीजिए कि हमारे पास एक अप्रत्यक्ष ग्राफ है, हमें यह जांचना है कि ग्राफ द्विदलीय है या नहीं। जैसा कि हम जानते हैं कि एक ग्राफ द्विदलीय होता है जब हम ग्राफ के नोड्स को दो सेट ए और बी में विभाजित कर सकते हैं जैसे कि ग्राफ के प्रत्येक किनारे {यू, वी} में ए में एक नोड और बी में दूसरा नोड वी होता है।