C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

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

  1. 行列式の行列式を計算するC++プログラム

    正方行列の行列式は、その要素値を使用して計算できます。行列Aの行列式はdet(A)として表すことができ、幾何学の行列によって記述される線形変換のスケーリング係数と呼ぶことができます。 行列式の例は次のとおりです。 The matrix is: 3 1 2 7 The determinant of the above matrix = 7*3 - 2*1 = 21 - 2 = 19 So, the determinant is 19. 行列式を計算するプログラムは次のとおりです。 例 #include<iostream> #include<math.h> using

  2. 行列が可逆かどうかをチェックするC++プログラム

    行列式は、それが可逆であるかどうかを見つけるために使用できます。行列式がゼロ以外の場合、行列は可逆です。したがって、行列式がゼロであることが判明した場合、行列は可逆ではありません。例- The given matrix is: 4 2 1 2 1 1 9 3 2 The determinant of the above matrix is: 3 So the matrix is invertible. 行列が可逆かどうかをチェックするプログラムは次のとおりです。 例 #include<iostream> #include<math.h> using namespac