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

C++ में N/2 जोड़ियों के वर्गों का योग न्यूनतम करें


समस्या विवरण

n तत्वों की सरणी से n/2 जोड़ियां बनाएं जिससे जोड़ियों के योग के वर्गों का योग न्यूनतम हो।

उदाहरण: arr = {5, 10, 7, 4}

जोड़ियां: (4, 10) और (5, 7)

योग: (14)² + (12)² = 196 + 144 = 340

एल्गोरिदम

  1. सरणी को क्रमबद्ध करें
  2. दो पॉइंटर्स: शुरुआत (start) और अंत (end)
  3. start और end के तत्वों की जोड़ी बनाएं, वर्ग जोड़ें
  4. start++, end-- दोहराएं

उदाहरण कोड

#include <iostream>
#include <algorithm>
#define SIZE(arr) (sizeof(arr) / sizeof(arr[0]))
using namespace std;

int getMinSquareSum(int* arr, int n) {
    sort(arr, arr + n);
    int minSum = 0;
    int start = 0, end = n - 1;
    
    while (start < end) {
        int sum = arr[start] + arr[end];
        sum *= sum;
        minSum += sum;
        ++start;
        --end;
    }
    return minSum;
}

int main() {
    int arr[] = {5, 10, 7, 4};
    cout << "Minimum square sum: " << getMinSquareSum(arr, SIZE(arr)) << "\n";
    return 0;
}

आउटपुट

Minimum square sum: 340
  1. C++ में पहले n प्राकृतिक संख्याओं के वर्गों का योग C++ में पहले n प्राकृतिक संख्याओं के वर्गों का योग

    इस समस्या में हम देखेंगे कि पहले n प्राकृतिक संख्याओं के वर्गों का योग कैसे प्राप्त किया जा सकता है। यहां हम एक फॉर लूप का उपयोग कर रहे हैं, जो 1 से n तक चलता है। प्रत्येक चरण में हम पद का वर्ग निकाल रहे हैं और फिर इसे योग में जोड़ रहे हैं। यह प्रोग्राम पूरा होने में O(n) समय लेता है। लेकिन यदि हम

  1. - श्रृंखला 1/1! + 2/2! + 3/3! + 4/4! +….+ n/n! का योग ज्ञात करने के लिए Java प्रोग्राम

    उदाहरणimport java.io.*; import java.lang.*; public class Demo{ public static double patternSum(double val){ double residual = 0, factorialVal = 1; for (int i = 1; i <= val; i++){ factorialVal = factorialVal * i; residual = residual + (i / factorialVal);

  1. पायथन प्रोग्राम: श्रृंखला 1/1! + 2/2! + 3/3! + ... + n/n! का योग ज्ञात करें पायथन प्रोग्राम: श्रृंखला 1/1! + 2/2! + 3/3! + ... + n/n! का योग ज्ञात करें

    इस लेख में, हम दी गई समस्या के समाधान और दृष्टिकोण के बारे में जानेंगे।समस्या कथन - एक पूर्णांक इनपुट n दिया गया है, हमें श्रृंखला 1/1! + 2/2! + 3/3! + 4/4! + ... + n/n! का योग ज्ञात करना होगा।यहां हम फॉर लूप लागू कर रहे हैं, इसलिए हमें O(n) समय जटिलता प्राप्त होती है।दक्षता प्राप्त करने के लिए हम उ