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

C++ में सरणी के GCD को k का गुणक बनाने के लिए न्यूनतम ऑपरेशन


मान लीजिए हमारे पास एक सरणी arr और एक अन्य मान k है। हमें सरणी के GCD को k का गुणक बनाने के लिए न्यूनतम ऑपरेशंस की संख्या ढूंढनी है। यहां ऑपरेशन मान को बढ़ाना या घटाना है। मान लीजिए सरणी {4, 5, 6} है, और k 5 है। हम 4 को 1 से बढ़ा सकते हैं, और 6 को 1 से घटा सकते हैं, तो यह 5 बन जाता है। यहां ऑपरेशंस की संख्या 2 है।

परिणाम प्राप्त करने के लिए इन चरणों का पालन करें:

चरण −

  • सरणी के सभी एलिमेंट्स e के लिए, चरण 2 और 3 का पालन करें
  • यदि e 1 नहीं है, और e > k, तो परिणाम को (e mod k) और (k – e mod k) के न्यूनतम के रूप में बढ़ाएं।
  • अन्यथा, परिणाम result + k – e होगा
  • परिणाम वापस करें

उदाहरण

#include <iostream> using namespace std; int countMinOp(int arr[], int n, int k) {    int result = 0;    for (int i = 0; i < n; ++i) {       if (arr[i] != 1 && arr[i] > k) {          result = result + min(arr[i] % k, k - arr[i] % k);       } else {          result = result + k - arr[i];       }    }    return result; } int main() {    int arr[] = { 4, 5, 6 };    int n = sizeof(arr) / sizeof(arr[0]);    int k = 5;    cout << "आवश्यक न्यूनतम ऑपरेशन: " << countMinOp(arr, n, k); }

आउटपुट

आवश्यक न्यूनतम ऑपरेशन: 2

  1. - C++ में सरणी पर ऑपरेशन करके सभी तत्वों को 0 बनाने के लिए न्यूनतम ऑपरेशन

    समस्या कथन आकार N की एक सरणी दी गई है और प्रत्येक तत्व या तो 1 या 0 है। सभी तत्वों को शून्य में बदलने के लिए किए जाने वाले न्यूनतम ऑपरेशन की गणना करें। कोई निम्न ऑपरेशन कर सकता है: यदि कोई तत्व 1 है, तो आप उसका मान 0 के बराबर बदल सकते हैं, तब: यदि अगला लगातार तत्व 1 है, तो यह स्वचालित रूप से 0

  1. - C++ में को-प्राइम ऐरे बनाने के लिए न्यूनतम इंसर्शन

    इस सेक्शन में हम एक और दिलचस्प समस्या देखेंगे। मान लीजिए हमारे पास N एलिमेंट्स का एक ऐरे है। हमें इस ऐरे को को-प्राइम ऐरे बनाने के लिए न्यूनतम इंटरसेक्शन पॉइंट्स ढूंढने हैं। को-प्राइम ऐरे में हर दो लगातार एलिमेंट्स का gcd 1 होता है। हमें ऐरे भी प्रिंट करना है।मान लीजिए हमारे पास {5, 10, 20} जैसे एलि

  1. - C++ में ऐरे के सभी एलिमेंट्स को समान बनाने के लिए न्यूनतम डिलीट ऑपरेशन्स

    समस्या कथनn एलिमेंट्स का एक ऐरे दिया गया है जैसे कि एलिमेंट्स रिपीट हो सकते हैं। हम ऐरे से किसी भी संख्या में एलिमेंट्स डिलीट कर सकते हैं। कार्य ऐरे को समान बनाने के लिए डिलीट किए जाने वाले एलिमेंट्स की न्यूनतम संख्या ढूंढना है।arr[] = {10, 8, 10, 7, 10, -1, -4, 12}सभी ऐरे एलिमेंट्स को समान बनाने के