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

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

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

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

उदाहरण के लिए,

Input: num = 11
Output: Product is 11
Explanation:
Here, the input number is 11 having only 1 prime factor and it is 11.
And hence their product is 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))

आउटपुट

6

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

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

दृष्टिकोण 2

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

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

  • यदि 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 के भाज्य की गणना करना। एक गैर-ऋणात्मक संख्या का भाज्य − . द्वारा दिया जाता है n! = n*n-1*n-2*n-3*n-4*.................*3*2*1 हमारे पास समस्या के दो संभावित समाधान हैं पुनरावर्ती

  1. एन-वें फाइबोनैचि संख्या के लिए पायथन कार्यक्रम

    इस लेख में, हम nवें फाइबोनैचि संख्या की गणना करेंगे। एक फिबोनाची संख्या नीचे दिए गए पुनरावर्तन संबंध द्वारा परिभाषित किया गया है - Fn = Fn-1 + Fn-2 साथ एफ0 =0 और एफ1 =1. सबसे पहले, कुछ फाइबोनैचि संख्याएं हैं 0,1,1,2,3,5,8,13,.................. हम फाइबोनैचि संख्याओं . की गणना कर सकते हैं रिकर्सन

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

    इस लेख में, हम nवें कातालान संख्या की गणना के बारे में जानेंगे। कैटलन नंबर प्राकृतिक संख्याओं का एक क्रम है जो पुनरावर्ती सूत्र द्वारा परिभाषित किया जाता है - $$C_{0}=1\:और\:C_{n+1}=\displaystyle\sum\limits_{i=0}^n C_{i}C_{n-i} \:n\geq0;$$ के लिए n =0, 1, 2, 3, … के लिए पहले कुछ कैटलन नंबर 1, 1,