คำชี้แจงปัญหา
เราได้จำนวนบวก n และเราต้องหาเมทริกซ์ 3*3 ซึ่งสามารถเกิดขึ้นได้ด้วยการรวมกันของ 0 หรือ n และมีดีเทอร์มีแนนต์สูงสุด
ตัวอย่าง
ถ้า n =15 เราสามารถสร้างเมทริกซ์ได้ดังนี้ −
{{15, 15, 0}{0, 15, 15}{15, 0, 0}} สำหรับเมทริกซ์ 3*3 ใดๆ ที่มีองค์ประกอบ 0 หรือ n ดีเทอร์มีแนนต์สูงสุดที่เป็นไปได้คือ 2 *(n) 3 . ดังนั้นคำตอบคือ −
2 * (15) 3 =6750
อัลกอริทึม
สำหรับเมทริกซ์ 3*3 ใดๆ ที่มีองค์ประกอบ 0 หรือ n ดีเทอร์มีแนนต์สูงสุดที่เป็นไปได้คือ 2 *(n) 3
ตัวอย่าง
เรามาดูตัวอย่างกัน −
#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: 15150 0 15 15 15 015 Maximum determinant = 6750