C++ 中,矩陣中每個值為 0 或 n 的最大行列式
問題陳述
我們給定一個正整數 n,我們需要找到一個可以由 0 或 n 的組合形成且具有最大行列式的 3*3 矩陣。
示例
如果 n = 15,我們可以建立如下矩陣 −
{{15, 15, 0}{0, 15, 15}{15, 0, 0}}對於任何元素為 0 或 n 的 3*3 矩陣,最大的可能行列式為 2 *(n)3。因此,答案是 −
2 * (15)3 = 6750
演算法
對於任何元素為 0 或 n 的 3*3 矩陣,最大的可能行列式為 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
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP