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

C++ प्रोग्राम: जांचें कि n को k संख्याओं के गुणनफल के रूप में लिखा जा सकता है या नहीं

मान लें हमारे पास एक संख्या N है। हमारे पास एक अन्य संख्या k है। हमें जांचना है कि संख्या को k संख्याओं का उपयोग करके दर्शाया जा सकता है या नहीं। मान लें संख्या 54 है, और k = 3, तो यह [2, 3, 9] जैसी संख्याएं प्रिंट करेगा, यदि इसे दर्शाया नहीं जा सकता, तो वह प्रिंट करें।

इसे हल करने के लिए, हम N के सभी अभाज्य गुणनखंड ज्ञात करेंगे, और उन्हें एक वेक्टर में स्टोर करेंगे, फिर 1 से बड़ी k संख्याएं खोजने के लिए, हम वेक्टर के आकार की जांच करेंगे कि यह k से बड़ा है या नहीं। यदि आकार k से कम है, तो -1 लौटाएं, अन्यथा पहले k-1 गुणनखंड प्रिंट करें और अंतिम गुणनखंड शेष सभी संख्याओं का गुणनफल होगा।

उदाहरण

#include <iostream>
#include <vector>
#include <cmath>
using namespace std;

int getKFactors(int n, int k) {
    int i;
    vector vec;
    while (n % 2 == 0) {
        vec.push_back(2);
        n = n / 2; // n को 2 से विभाजित करके कम करें
    }
    for (i = 3; i <= sqrt(n); i = i + 2) { // i 2 से बढ़ेगा, केवल विषम संख्याएं प्राप्त करने के लिए
        while (n % i == 0) {
            n = n / i;
            vec.push_back(i);
        }
    }
    if (n > 2) {
        vec.push_back(n);
    }
    if (vec.size() < k) {
        cout << "Cannot be represented";
        return -1;
    }
    for (int i = 0; i < k - 1; i++)
        cout << vec[i] << ", ";
    int prod = 1;
    for (int i = k - 1; i < vec.size(); i++)
        prod = prod * vec[i];
    cout << prod << endl;
}

int main() {
    int n = 54, k = 3;
    getKFactors(n, k);
}

आउटपुट

2, 3, 9
  1. C++ में ऐरे में सभी अभाज्य संख्याओं का गुणनफल C++ में ऐरे में सभी अभाज्य संख्याओं का गुणनफल

    कुछ एलिमेंट्स के साथ एक इंटीजर ऐरे arr[] दिया गया है, कार्य उस ऐरे की सभी अभाज्य संख्याओं का गुणनफल निकालना है। अभाज्य संख्याएं वे संख्याएं होती हैं जो या तो 1 से विभाज्य होती हैं या स्वयं संख्या से, या एक अभाज्य संख्या वह संख्या है जो 1 और स्वयं संख्या को छोड़कर किसी अन्य संख्या से विभाज्य नहीं ह

  1. - C++ प्रोग्राम: दो संख्याएं ढूंढें जिनका योग और गुणनफल दोनों N के समान हों

    इस ट्यूटोरियल में, हम एक प्रोग्राम पर चर्चा करेंगे जो दो संख्याएं (मान लीजिए a और b) ढूंढता है जैसे कि दोनों a + b = N और a * b = N संतुष्ट हों। a को दोनों समीकरणों से हटाने पर, हमें b और N में एक द्विघात समीकरण मिलता है यानी b² - bN + N = 0 इस समीकरण के दो मूल होंगे जो हमें a और b दोनों का मान दें

  1. - C++ में दो संख्याओं को गुणा करने का प्रोग्राम

    दो संख्याओं a और b का गुणा उनका गुणनफल देता है। a का मान b के मान जितनी बार जोड़ा जाता है ताकि a और b का गुणनफल प्राप्त हो सके। उदाहरण के लिए। 5 * 4 = 20 7 * 8 = 56 9 * 9 = 81 * ऑपरेटर का उपयोग करके दो संख्याओं को गुणा करने का प्रोग्राम * ऑपरेटर का उपयोग करके दो संख्याओं को गुणा करने का प्रोग्राम नि