समस्या कथन
हमें एक धनात्मक संख्या n दी गई है, और हमें एक 3x3 मैट्रिक्स ढूंढना है जिसे 0 या n के संयोजन से बनाया जा सकता है और जिसका डिटरमिनेंट अधिकतम हो।
उदाहरण
यदि n = 15 तो हम निम्नानुसार मैट्रिक्स बना सकते हैं:
{{15, 15, 0}, {0, 15, 15}, {15, 0, 0}}
किसी भी 3x3 मैट्रिक्स के लिए जिसके तत्व या तो 0 या n हैं, अधिकतम संभव डिटरमिनेंट 2 * n3 है। इसलिए उत्तर है:
2 * (15)3 = 6750
एल्गोरिदम
किसी भी 3x3 मैट्रिक्स के लिए जिसके तत्व या तो 0 या n हैं, अधिकतम संभव डिटरमिनेंट 2 * n3 है।
उदाहरण
#include <bits/stdc++.h>
using namespace std;
int getMaxDeterminant(int n) {
return (2 * n * n * n);
}
void printMatrix(int n) {
for (int i = 0; i < 3; ++i) {
for (int j = 0; j < 3; ++j) {
if (i == 0 && j == 2) {
printf("%-5d", 0);
} else if (i == 1 && j == 0) {
printf("%-5d", 0);
} else if (i == 2 && j == 1) {
printf("%-5d", 0);
} else {
printf("%-5d", n);
}
}
printf("\n");
}
}
int main() {
int n = 15;
cout << "Matrix is:\n";
printMatrix(n);
cout << "\nMaximum determinant = " << getMaxDeterminant(n) << endl;
return 0;
}
आउटपुट
Matrix is: 15 15 0 0 15 15 15 0 15 Maximum determinant = 6750