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

C++ में मैट्रिक्स में N^2 संख्याएं रखें ताकि प्रत्येक पंक्ति का योग समान हो


इस समस्या में, हमें एक पूर्णांक मान N दिया गया है। हमारा कार्य (1, N2) रेंज में संख्याओं को NxN आकार के 2D मैट्रिक्स में इस तरह रखना है कि प्रत्येक पंक्ति के तत्वों का योग समान हो।

समस्या को समझने के लिए एक उदाहरण लेते हैं,

इनपुट - N = 4

आउटपुट -

1 6 11 16
2 7 12 13
3 8  9 14
4 5 10 15

प्रत्येक पंक्ति में तत्वों का योग 34 है

इस विधि को हल करने के लिए, हमें मैट्रिक्स में प्रत्येक तत्व को इस तरह रखना होगा कि प्रत्येक पंक्ति में कुल योग समान हो। इसके लिए, हम लालची दृष्टिकोण और पंक्ति दर पंक्ति सही तत्वों को रखकर योग को समान बनाएंगे।

इसके लिए, हम शुरू में मैट्रिक्स में सभी तत्वों को भरेंगे और फिर एक नया मैट्रिक्स बनाएंगे जिसमें पिछले मैट्रिक्स के तत्व इस सूत्र का उपयोग करके हों,

resultMat[i][j] = prevMat[j][(i+j)%n]

उदाहरण

नीचे दिया गया कोड हमारे समाधान का कार्यान्वयन दिखाता है,

#include <iostream>
using namespace std;

int main() {
    int n = 4, i, j;
    cout << "मैट्रिक्स का आकार : " << n << " जिसमें सभी पंक्तियों के तत्वों का योग समान है :\n";
    int prevMat[n][n], resultMat[n][n];
    int c = 1;
    for (i = 0; i < n; i++) {
        for (j = 0; j < n; j++)
            prevMat[i][j] = c++;
    }
    for (i = 0; i < n; i++) {
        for (j = 0; j < n; j++) {
            resultMat[i][j] = prevMat[j][((i + j) % n)];
        }
    }
    for (i = 0; i < n; i++) {
        for (j = 0; j < n; j++) {
            cout << resultMat[i][j] << "\t";
        }
        cout << endl;
    }
}

आउटपुट

मैट्रिक्स का आकार : 4 जिसमें सभी पंक्तियों के तत्वों का योग समान है :
1 6 11 16
2 7 12 13
3 8  9 14
4 5 10 15
  1. C++ में बाइनरी ट्री के उस स्तर को खोजें जिसका योग न्यूनतम है C++ में बाइनरी ट्री के उस स्तर को खोजें जिसका योग न्यूनतम है

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

  1. C++ में n^2 स्थितियों में आइटम रखने के तरीके ताकि कोई पंक्ति/स्तंभ एक से अधिक न हो C++ में n^2 स्थितियों में आइटम रखने के तरीके ताकि कोई पंक्ति/स्तंभ एक से अधिक न हो

    इस समस्या में, हमें एक पूर्णांक n दिया गया है जैसे कि n लाइनें लंबवत और n क्षैतिज रूप से रखी गई हैं जिससे इन लाइनों के बीच n^2 प्रतिच्छेदन हैं। हमारा कार्य इन प्रतिच्छेदनों पर 4 आइटम रखने के कुल तरीकों की संख्या ज्ञात करना है ऐसे तरीके से कि कोई पंक्ति और स्तंभ एक से अधिक आइटम न रखे। उदाहरण इनपुट n=

  1. - C++ प्रोग्राम: अद्वितीय जोड़े ढूंढें जहां प्रत्येक तत्व N से कम या बराबर हो

    इस लेख में, हम एक प्रोग्राम पर चर्चा करेंगे जो N से कम या बराबर तत्वों वाले संख्याओं के अद्वितीय जोड़े ढूंढता है और कुछ शर्तों का पालन करता है - दो संख्याओं के बीच अंतर का वर्ग उन दो संख्याओं के LCM के बराबर होना चाहिए। उन दो संख्याओं का HCF किन्हीं दो क्रमागत संख्याओं के गुणनफल के रूप में दर्शाया