Abbiamo dato un numero n positivo e dobbiamo trovare una matrice 3*3 che si può formare con la combinazione di 0 oppure n e ha determinante massimo.
Esempi:
Input : n = 3 Output : Maximum determinant = 54 Resultant Matrix : 3 3 0 0 3 3 3 0 3 Input : n = 13 Output : Maximum determinant = 4394 Resultant Matrix : 13 13 0 0 13 13 13 0 13
Spiegazione:
For any 3*3 matrix having elements either 0 or n the maximum possible determinant is 2*(n^3). . Also a matrix having maximum determinant is of form: n n 0 0 n n n 0 0
Attuazione:
C++// C++ program to find maximum possible determinant // of 0/n matrix. #include using namespace std; // Function for maximum determinant int maxDet(int n) { return (2*n*n*n); } // Function to print resultant matrix void resMatrix ( int n) { for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { // three position where 0 appears if (i == 0 && j == 2) cout << '0 '; else if (i == 1 && j == 0) cout << '0 '; else if (i == 2 && j == 1) cout << '0 '; // position where n appears else cout << n << ' '; } cout << 'n'; } } // Driver code int main() { int n = 15; cout << 'Maximum Determinant = ' << maxDet(n); cout << 'nResultant Matrix :n'; resMatrix(n); return 0; }
Java // Java program to find maximum possible // determinant of 0/n matrix. import java.io.*; public class GFG { // Function for maximum determinant static int maxDet(int n) { return (2 * n * n * n); } // Function to print resultant matrix void resMatrix(int n) { for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { // three position where 0 appears if (i == 0 && j == 2) System.out.print('0 '); else if (i == 1 && j == 0) System.out.print('0 '); else if (i == 2 && j == 1) System.out.print('0 '); // position where n appears else System.out.print(n +' '); } System.out.println(''); } } // Driver code static public void main (String[] args) { int n = 15; GFG geeks=new GFG(); System.out.println('Maximum Determinant = ' + maxDet(n)); System.out.println('Resultant Matrix :'); geeks.resMatrix(n); } } // This code is contributed by vt_m.
Python3 # Python 3 program to find maximum # possible determinant of 0/n matrix. # Function for maximum determinant def maxDet(n): return 2 * n * n * n # Function to print resultant matrix def resMatrix(n): for i in range(3): for j in range(3): # three position where 0 appears if i == 0 and j == 2: print('0' end = ' ') else if i == 1 and j == 0: print('0' end = ' ') else if i == 2 and j == 1: print('0' end = ' ') # position where n appears else: print(n end = ' ') print('n') # Driver code n = 15 print('Maximum Detrminat=' maxDet(n)) print('Resultant Matrix:') resMatrix(n) # This code is contributed by Shrikant13
C# // C# program to find maximum possible // determinant of 0/n matrix. using System; public class GFG { // Function for maximum determinant static int maxDet(int n) { return (2 * n * n * n); } // Function to print resultant matrix void resMatrix(int n) { for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { // three position where 0 appears if (i == 0 && j == 2) Console.Write('0 '); else if (i == 1 && j == 0) Console.Write('0 '); else if (i == 2 && j == 1) Console.Write('0 '); // position where n appears else Console.Write(n +' '); } Console.WriteLine(''); } } // Driver code static public void Main (String []args) { int n = 15; GFG geeks=new GFG(); Console.WriteLine('Maximum Determinant = ' + maxDet(n)); Console.WriteLine('Resultant Matrix :'); geeks.resMatrix(n); } } // This code is contributed by vt_m.
PHP // PHP program to find maximum // possible determinant of 0/n matrix. // Function for maximum determinant function maxDet($n) { return (2 * $n * $n * $n); } // Function to print // resultant matrix function resMatrix ( $n) { for ($i = 0; $i < 3; $i++) { for ($j = 0; $j < 3; $j++) { // three position // where 0 appears if ($i == 0 && $j == 2) echo '0 '; else if ($i == 1 && $j == 0) echo '0 '; else if ($i == 2 && $j == 1) echo '0 '; // position where n appears else echo $n ' '; } echo 'n'; } } // Driver code $n = 15; echo 'Maximum Determinant = ' maxDet($n); echo 'nResultant Matrix :n'; resMatrix($n); // This code is contributed // by nitin mittal. ?> JavaScript <script> // Java script program to find maximum possible // determinant of 0/n matrix. // Function for maximum determinant function maxDet(n) { return (2 * n * n * n); } // Function to print resultant matrix function resMatrix(n) { for(let i = 0; i < 3; i++) { for(let j = 0; j < 3; j++) { // Three position where 0 appears if (i == 0 && j == 2) document.write('0 '); else if (i == 1 && j == 0) document.write('0 '); else if (i == 2 && j == 1) document.write('0 '); // Position where n appears else document.write(n +' '); } document.write('
'); } } // Driver code let n = 15; document.write('Maximum Determinant = ' + maxDet(n) + '
'); document.write('Resultant Matrix :
'); resMatrix(n); // This code is contributed by sravan kumar </script>
Produzione
Maximum Determinant = 6750 Resultant Matrix : 15 15 0 0 15 15 15 0 15
Complessità temporale: O(1).
Spazio ausiliario: O(1) poiché non è stato occupato spazio aggiuntivo.
Esercizio: Estendi la soluzione precedente per una matrice k x k generalizzata.
Crea quiz