Tuyên bố vấn đề
Chúng ta đã cho một số dương n và chúng ta phải tìm một ma trận 3 * 3 có thể được tạo thành với tổ hợp của 0 hoặc n và có tối đa các định thức.
Ví dụ
Nếu n =15 thì ta có thể tạo ma trận như sau -
{{15, 15, 0}{0, 15, 15}{15, 0, 0}}
Đối với bất kỳ ma trận 3 * 3 nào có phần tử 0 hoặc n, định thức tối đa có thể có là 2 * (n) 3 . Do đó, câu trả lời là -
2 * (15) 3 =6750
Thuật toán
Đối với bất kỳ ma trận 3 * 3 nào có phần tử 0 hoặc n, định thức tối đa có thể có là 2 * (n) 3
Ví dụ
Bây giờ chúng ta hãy xem một ví dụ -
#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; }
Đầu ra
Matrix is: 15150 0 15 15 15 015 Maximum determinant = 6750