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

न्यूनतम x खोजें जैसे कि (x % k) * (x / k) == n C++ में

दिए गए दो धनात्मक पूर्णांक n और k, और हमें धनात्मक पूर्णांक x खोजना है, जैसे कि (x % k)*(x / k) n के समान हो। तो यदि n और k क्रमशः 4 और 6 हैं, तो आउटपुट 10 होगा। तो (10 % 6) * (10 / 6) = 4।

हम जानते हैं कि x % k का मान [1 से k - 1] की रेंज में होगा (0 शामिल नहीं) यहां हम उस रेंज में संभावित पूर्णांक खोजेंगे जो n को विभाजित करता है और इसलिए दिया गया समीकरण बन जाता है: x = (n * k) / (x % k) + (x % k)

उदाहरण

#include <iostream>
using namespace std;

int minValue(int x, int y) {
    return (x > y) ? y : x;
}

int getX(int n, int k) {
    int x = INT_MAX;
    for (int rem = k - 1; rem > 0; rem--) {
        if (n % rem == 0)
            x = minValue(x, rem + (n / rem) * k);
    }
    return x;
}

int main() {
    int n = 4, k = 6;
    cout << "The minimum value of x: " << getX(n, k);
}

आउटपुट

The minimum value of x: 10

  1. - C++ में एक सरणी को पुनर्व्यवस्थित करें ताकि arr[i] = i हो

    हमें एक धनात्मक पूर्णांक प्रकार की सरणी दी गई है, मान लीजिए arr[] किसी भी दिए गए आकार की, जिसमें सरणी के तत्वों का मान 0 से अधिक लेकिन सरणी के आकार से कम होना चाहिए। कार्य सरणी को इस तरह पुनर्व्यवस्थित करना है कि यदि arr[i] i है, यदि i सरणी में मौजूद है, अन्यथा arr[i] तत्व को -1 के मान के साथ सेट कर

  1. C++ में बाइनरी ट्री की न्यूनतम गहराई ज्ञात करें C++ में बाइनरी ट्री की न्यूनतम गहराई ज्ञात करें

    इस समस्या में, हमें एक बाइनरी ट्री दी गई है। हमारा कार्य बाइनरी ट्री की न्यूनतम गहराई ज्ञात करना है।बाइनरी ट्री की एक विशेष शर्त होती है कि प्रत्येक नोड के अधिकतम दो बच्चे हो सकते हैं।बाइनरी ट्री की न्यूनतम गहराई रूट नोड से किसी भी लीफ नोड तक का सबसे छोटा पथ होता है।आइए एक उदाहरण से समझते हैं:इनपुटआ

  1. C++ में बाइनरी ट्री के उस स्तर को खोजें जिसका योग न्यूनतम है C++ में बाइनरी ट्री के उस स्तर को खोजें जिसका योग न्यूनतम है

    एक बाइनरी ट्री दिया गया है जहां रूट का स्तर 1 है। हमें वह सबसे छोटा स्तर X ढूंढना है जहां सभी नोड्स के मानों का योग न्यूनतम हो। उदाहरण ट्री में रूट 5 है, बाएं 4, दाएं -10, आदि। स्तर 2 का योग 4 + (-10) = -6 है, जो न्यूनतम है, इसलिए आउटपुट 2 है। समाधान दृष्टिकोण हम लेवल ऑर्डर ट्रैवर्सल (BFS) का उपयोग