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

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


इस लेख में, हम नीचे दिए गए प्रॉब्लम स्टेटमेंट के समाधान के बारे में सीखेंगे:

प्रॉब्लम स्टेटमेंट

एक संख्या n दिए जाने पर, हमें इसके सभी यूनिक प्राइम फैक्टर्स का गुणनफल ढूंढना है और इसे वापस करना है।

उदाहरण के लिए

Input: num = 11
Output: Product is 11

व्याख्या

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

दृष्टिकोण 1

i = 2 से n+1 तक फॉर लूप का उपयोग करके जांचें कि क्या i, n का फैक्टर है और फिर जांचें कि क्या i स्वयं प्राइम नंबर है, यदि हां तो प्रोडक्ट को प्रोडक्ट वेरिएबल में स्टोर करें और इस प्रक्रिया को तब तक जारी रखें जब तक i, 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

# मेन
n = 18
print(productPrimeFactors(n))

आउटपुट

120

सभी वेरिएबल्स का स्कोप नीचे दी गई छवि में दिखाया गया है:

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

दृष्टिकोण 2

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

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

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

उदाहरण

import math

def productPrimeFactors(n):
    product = 1
    # प्राइम फैक्टर 2
    if (n % 2 == 0):
        product *= 2
        while (n % 2 == 0):
            n = n / 2
    # n अवश्य ऑड होना चाहिए
    for i in range(3, int(math.sqrt(n)), 2):
        # जब तक i, n को विभाजित करता है, i प्रिंट करें और n को विभाजित करें
        if (n % i == 0):
            product = product * i
            while (n % i == 0):
                n = n / i
    # n 2 से बड़ा प्राइम नंबर है
    if (n > 2):
        product = product * n
    return product

# मेन
n = 8
print(int(productPrimeFactors(n)))

आउटपुट

2

वेरिएबल्स के स्कोप नीचे दी गई छवि में उल्लिखित हैं:

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

निष्कर्ष

इस लेख में, हमने ब्रूट फोर्स दृष्टिकोण और एक कुशल दृष्टिकोण का उपयोग करके दी गई संख्या के यूनिक प्राइम फैक्टर्स के गुणनफल के बारे में सीखा।

  1. पायथन प्रोग्राम: संख्या के इवन फैक्टर्स का योग ढूंढें पायथन प्रोग्राम: संख्या के इवन फैक्टर्स का योग ढूंढें

    इस लेख में, हम नीचे दिए गए प्रॉब्लम स्टेटमेंट के समाधान के बारे में सीखेंगे: प्रॉब्लम स्टेटमेंट एक नंबर इनपुट n दिए जाने पर, कार्य संख्या के इवन फैक्टर्स का योग निकालना है। यहां हमें पहले सभी ऑड फैक्टर्स को समाप्त करने की आवश्यकता है। यदि इनपुट नंबर ऑड है तो इसका कोई इवन फैक्टर नहीं है इसलिए सीधे

  1. पायथन प्रोग्राम: संख्या का सबसे बड़ा प्राइम फैक्टर ढूंढें पायथन प्रोग्राम: संख्या का सबसे बड़ा प्राइम फैक्टर ढूंढें

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

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

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे -समस्या कथन - एक संख्या n दी गई है, हमें इसके सभी अद्वितीय अभाज्य गुणनखंडों का गुणनफल ज्ञात करना होगा और इसे वापस करना होगा।उदाहरण के लिए,इनपुट: num = 11आउटपुट: Product is 11व्याख्या: यहां, इनपुट संख्या 11 का केवल 1 अभाज्य गुणनखंड ह