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

C++ में संख्या के गुणनखंडों का गुणनफल


एक संख्या n को देखते हुए हमें इसके सभी गुणनखंड ज्ञात करने हैं और उन गुणनखंडों का गुणनफल ज्ञात करना है और परिणाम, अर्थात किसी संख्या के गुणनखंडों का गुणनफल देना है। किसी संख्या के गुणनखंड वे संख्याएँ होती हैं जो 1 सहित संख्या को पूर्ण रूप से विभाजित कर सकती हैं। 6 के समान गुणनखंड हैं - 1, 2, 3, 6।

अब कार्य के अनुसार हमें गुणनफल को संख्या के सभी गुणनखंडों को खोजना होगा।

इनपुट − एन =18

>आउटपुट - 5832

स्पष्टीकरण - 1 * 2 * 3 * 6 * 9 * 18 =5832

इनपुट − एन =9

>आउटपुट - 27

स्पष्टीकरण - 1 * 3 * 9 =27

समस्या को हल करने के लिए नीचे इस्तेमाल किया गया तरीका इस प्रकार है -

  • इनपुट संख्या लें।

  • लूप i =1 से i*i<=num

    . तक
  • जांचें कि क्या num%i==0 है, तो जांचें

    • अगर num%i ==i तो उत्पाद का मान सेट करें =(उत्पाद*i)%1e7

    • अन्य उत्पाद को (उत्पाद * i)% MAX के रूप में सेट करें और उत्पाद को (उत्पाद * संख्या / i)% MAX के रूप में सेट करें।

  • उत्पाद लौटाएं।

एल्गोरिदम

Start
In Function long long productfactor(int num)
   Step 1→ Declare and Initialize product as 1
   Step 2→ For i = 1 and i * i <= num and i++
      If num % i == 0 then,
      If num / i == i then,
         Set product as (product * i) % MAX
      Else
         Set product as (product * i) % MAX
         Set product as (product * num / i) % MAX
   Step 3→ Return product
In Function int main()
   Step 1→ Declare and initialize n as 9
   Step 2→ Print the result productfactor(n)
Stop

उदाहरण

#include <stdio.h>
#define MAX 1000000000
// find the product of the factors
long long productfactor(int num){
   long long product = 1;
   for (int i = 1; i * i <= num; i++){
      if (num % i == 0){
         //equal factors should be multiplied only once
         if (num / i == i)
         product = (product * i) % MAX;
         // Else multiply both
         else {
            product = (product * i) % MAX;
            product = (product * num / i) % MAX;
         }
      }
   }
   return product;
}
int main(){
   int n = 9;
   printf("%lld\n", productfactor(n));
   return 0;
}

आउटपुट

यदि उपरोक्त कोड चलाया जाता है तो यह निम्न आउटपुट उत्पन्न करेगा -

27

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

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

  1. C++ में मितव्ययी संख्या

    इस समस्या में, हमें एक धनात्मक पूर्णांक N दिया जाता है। हमारा कार्य यह जाँचने के लिए एक प्रोग्राम बनाना है कि दी गई संख्या मितव्ययी संख्या है या नहीं। मितव्ययी संख्या - एक संख्या जिसके अंकों की संख्या दी गई संख्या के अभाज्य गुणनखंड में अंकों की संख्या से अधिक है। उदाहरण − 625, संख्या 625 का अभाज्

  1. सी++ पेंटाटोप नंबर

    पास्कल के त्रिभुज में एक पंचकोण संख्या को पाँचवीं संख्या के रूप में वर्णित किया गया है। अब, जैसा कि आप जानते हैं, यह पांचवीं संख्या है, तो इसका मतलब है कि हमारे पास पास्कल के त्रिकोण में कम से कम पांच संख्याएं होनी चाहिए, इसलिए इस श्रृंखला की पहली संख्या 1 4 6 4 1 से शुरू होती है। पास्कल त्रिभुज की