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

पायथन प्रोग्राम में किसी संख्या के अद्वितीय अभाज्य गुणनखंडों का गुणनफल

इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे -

समस्या कथन

एक संख्या n को देखते हुए, हमें इसके सभी उपलब्ध अद्वितीय अभाज्य कारकों का गुणनफल खोजना होगा और उसे वापस करना होगा।

उदाहरण के लिए

Input: num = 11
Output: Product is 11

स्पष्टीकरण

यहां, इनपुट संख्या 11 है जिसमें केवल 1 प्रमुख कारक है और यह 11 है। और इसलिए उनका उत्पाद 11 है।

पहुंच 1

i =2 से n+1 तक के लिए लूप का उपयोग करके जांचें कि क्या मैं n का एक कारक है और फिर जांचें कि क्या मैं ही अभाज्य संख्या हूं, यदि हां, तो उत्पाद को उत्पाद चर में संग्रहीत करें और इस प्रक्रिया को तब तक जारी रखें जब तक कि मैं =n नहीं बन जाता।

उदाहरण

def productPrimeFactors(n):
   product = 1
   for i in range(2, n+1):
      if (n % i == 0):
         isPrime = 1
         for j in range(2, int(i/2 + 1)):
            if (i % j == 0):
               isPrime = 0
               break
      if (isPrime):
         product = product * i
   return product
# main
n = 18
print (productPrimeFactors(n))

आउटपुट

120

सभी चरों का दायरा नीचे दी गई छवि में दिखाया गया है -

पायथन प्रोग्राम में किसी संख्या के अद्वितीय अभाज्य गुणनखंडों का गुणनफल

दृष्टिकोण 2

1) जबकि n 2 (सम) से विभाज्य है, प्रिंट 2 और n को 2 से भाग दें।

2) चरण 1 के बाद, n विषम हो जाना चाहिए। अब लूप के लिए i =3 से n के वर्गमूल तक प्रारंभ करें। जबकि मैं n को विभाजित करता हूं, i प्रिंट करता हूं और n को i से विभाजित करता हूं। n को विभाजित करने में विफल रहने के बाद, i को 2 से बढ़ाएँ और प्रक्रिया जारी रखें।

3) यदि n एक अभाज्य संख्या है और 2 से बड़ी है, तो n दो चरणों से ऊपर 1 नहीं बनेगा। इसलिए 2 से अधिक होने पर n प्रिंट करें।

उदाहरण

import math
def productPrimeFactors(n):
   product = 1
   # prime factor 2
   if (n % 2 == 0):
      product *= 2
      while (n%2 == 0):
         n = n/2
   # n must be odd
   for i in range (3, int(math.sqrt(n)), 2):
      # While i divides n, print i and
      # divide n
      if (n % i == 0):
         product = product * i
         while (n%i == 0):
            n = n/i
   # n is a prime number greater than 2
   if (n > 2):
      product = product * n
   return product
# main()
n = 8
print (int(productPrimeFactors(n)))

आउटपुट

2

नीचे दी गई छवि में चरों के दायरे का उल्लेख किया गया है -

पायथन प्रोग्राम में किसी संख्या के अद्वितीय अभाज्य गुणनखंडों का गुणनफल

निष्कर्ष

इस लेख में, हमने ब्रूट फ़ोर्स अप्रोच और कुशल अप्रोच के साथ दी गई संख्या के यूनीक प्राइम फ़ैक्टर्स के गुणनफल के बारे में जाना


  1. किसी संख्या के सम गुणनखंडों का योग ज्ञात करने के लिए पायथन प्रोग्राम

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे - समस्या कथन किसी संख्या इनपुट n को देखते हुए, कार्य किसी संख्या के सम गुणनखंडों का योग ज्ञात करना है। यहां हमें सबसे पहले सभी विषम कारकों को खत्म करना होगा। यदि संख्या इनपुट विषम है, तो इसका कोई सम कारक नहीं है, सीधे शून्य लौटात

  1. किसी संख्या का सबसे बड़ा अभाज्य गुणनखंड खोजने के लिए पायथन कार्यक्रम

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे - समस्या कथन एक सकारात्मक पूर्णांक n दिया गया है। हमें किसी संख्या का सबसे बड़ा अभाज्य गुणनखंड ज्ञात करना होगा। दृष्टिकोण दिए गए संख्या इनपुट को किसी संख्या के भाजक से विभाजित करके गुणनखंड करें। अब मैक्सिमम प्राइम फ़ैक्टर को अपडेट

  1. किसी संख्या के अद्वितीय अभाज्य गुणनखंडों के उत्पाद के लिए पायथन कार्यक्रम

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे - समस्या कथन - एक संख्या n को देखते हुए, हमें इसके सभी उपलब्ध अद्वितीय अभाज्य कारकों का गुणनफल खोजना होगा और उसे वापस करना होगा। उदाहरण के लिए, Input: num = 11 Output: Product is 11 Explanation: Here, the input number is 11 havin