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

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


हमें एक संख्या n दी गई है, हमें इसके सभी कारक ढूंढने हैं और उन कारकों का गुणनफल निकालकर परिणाम रिटर्न करना है, यानी एक संख्या के कारकों का गुणनफल। एक संख्या के कारक वे संख्याएं होती हैं जो 1 सहित उस संख्या को पूरी तरह से विभाजित कर सकती हैं। जैसे 6 के कारक हैं: 1, 2, 3, 6।

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

इनपुट - n = 18

आउटपुट - 5832

व्याख्या - 1 × 2 × 3 × 6 × 9 × 18 = 5832

इनपुट - n = 9

आउटपुट - 27

व्याख्या - 1 × 3 × 9 = 27

समस्या को हल करने के लिए नीचे दिया गया दृष्टिकोण

  • इनपुट num लें।
  • i = 1 से i*i <= num तक लूप करें
  • जांचें कि num % i == 0 है तो,
    • यदि num / i == i तो product = (product * i) % MAX सेट करें
    • अन्यथा product को (product * i) % MAX और product को (product * num / i) % MAX के रूप में सेट करें।
  • गुणनफल रिटर्न करें।

एल्गोरिदम

Start
In Function long long productfactor(int num)
    Step 1→ product को 1 के रूप में घोषित और इनिशियलाइज़ करें
    Step 2→ i = 1 से i*i <= num तक, i++
        यदि num % i == 0 तो,
            यदि num / i == i तो,
                product को (product * i) % MAX के रूप में सेट करें
            अन्यथा
                product को (product * i) % MAX के रूप में सेट करें
                product को (product * num / i) % MAX के रूप में सेट करें
    Step 3→ product रिटर्न करें

In Function int main()
    Step 1→ n को 9 के रूप में घोषित और इनिशियलाइज़ करें
    Step 2→ productfactor(n) का परिणाम प्रिंट करें
Stop

उदाहरण

#include <iostream>
#define MAX 1000000000

// कारकों का गुणनफल खोजें
long long productfactor(int num) {
    long long product = 1;
    for (int i = 1; i * i <= num; i++) {
        if (num % i == 0) {
            // समान कारकों को केवल एक बार गुणा किया जाना चाहिए
            if (num / i == i)
                product = (product * i) % MAX;
            // अन्यथा दोनों को गुणा करें
            else {
                product = (product * i) % MAX;
                product = (product * num / i) % MAX;
            }
        }
    }
    return product;
}

int main() {
    int n = 9;
    cout << productfactor(n) << endl;
    return 0;
}

आउटपुट

27

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

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

  1. - C++ में मितव्ययी संख्या (Frugal Number)

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

  1. C++ में पेंटाटोप संख्या C++ में पेंटाटोप संख्या

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