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

C/C++ प्रोग्राम: संख्या के अद्वितीय अभाज्य गुणनखंडों का गुणनफल ढूंढें


इस खंड में हम देखेंगे कि कैसे हम एक संख्या के अद्वितीय अभाज्य गुणनखंडों का गुणनफल कुशल तरीके से प्राप्त कर सकते हैं। मान लीजिए n = 1092 है, हमें इसके अद्वितीय अभाज्य गुणनखंडों का गुणनफल प्राप्त करना है। 1092 के अभाज्य गुणनखंड 2, 2, 3, 7, 13 हैं। तो अद्वितीय अभाज्य गुणनखंड {2, 3, 7, 13} हैं, गुणनफल 546 है। इस समस्या को हल करने के लिए, हमें इस नियम का पालन करना होगा -

  • जब संख्या 2 से विभाज्य हो, तो 2 को गुणनफल से गुणा करें, और संख्या को 2 से विभाजित करें, फिर अगले 2 को अनदेखा करें।
  • अब संख्या विषम होनी चाहिए। अब 3 से संख्या के वर्गमूल तक, यदि संख्या वर्तमान मान से विभाज्य है, तो गुणनखंड को गुणनफल में गुणा करें, और संख्या को वर्तमान संख्या से विभाजित करके बदलें फिर जारी रखें। अगले को ऊपर की तरह अनदेखा करें
  • और अंत में यदि संख्या 2 से अधिक है, तो यह 1 नहीं है, इसलिए शेष संख्या को गुणा करें।

आइए एल्गोरिदम देखें ताकि बेहतर विचार मिल सके।

एल्गोरिदम

uniquePrimeProduct(n)

begin   prod := 1   if n is divisible by 2, then     prod := prod * 2     n := n / 2   end if   while n is divisible by 2, do     n := n / 2   done   for i := 3 to √n, increase i by 2, do     if n is divisible by i, then         prod := prod * i         n := n / i     end if     while n is divisible by i, do         n := n / i     done   done   if n > 2, then     prod := prod * n   end if end

उदाहरण

#include #include int uniquePrimeProduct(int n){     int i, prod = 1;     if(n % 2 == 0){         prod *= 2;         n = n/2;     }     while(n % 2 == 0){//skip next 2s         n = n/2;     }     for(i = 3; i <= sqrt(n); i=i+2){ //i will increase by 2, to get only odd numbers         if(n % i == 0){             prod *= i;             n = n/i;         }         while(n % i == 0){ //skip next i's             n = n/i;         }     }     if(n < 2){         prod *= n;     }     return prod; } main() {     int n;     printf("Enter a number: ");     scanf("%d", &n);     printf("Product of prime factors: %d", uniquePrimeProduct(n)); }

आउटपुट

Enter a number: 1092 Product of prime factors: 546

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

    एक धनात्मक पूर्णांक दिया गया है और कार्य उस संख्या के विषम गुणनखंडों को उत्पन्न करना और दिए गए विषम गुणनखंडों का योग निकालना है। उदाहरण इनपुट: संख्या = 20 आउटपुट: विषम गुणनखंडों का योग है: 6 इनपुट: संख्या = 18 आउटपुट: विषम गुणनखंडों का योग है: 13 तो, परिणाम = 1 + 5 = 6 नीचे दिए गए प्रोग्राम में

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

    इस लेख में, हम नीचे दिए गए प्रॉब्लम स्टेटमेंट के समाधान के बारे में सीखेंगे: प्रॉब्लम स्टेटमेंट एक संख्या n दिए जाने पर, हमें इसके सभी यूनिक प्राइम फैक्टर्स का गुणनफल ढूंढना है और इसे वापस करना है। उदाहरण के लिए Input: num = 11 Output: Product is 11 व्याख्या यहां, इनपुट संख्या 11 है जिसमें केवल

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

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