Wednesday, September 25, 2024
Google search engine
HomeData Modelling & AIMaximum determinant of a matrix with every values either 0 or n

Maximum determinant of a matrix with every values either 0 or n

We have given a positive number n, and we have to find a 3*3 matrix which can be formed with combination of 0 or n and has maximum determinant.

Examples : 

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

Explanation: 

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

Implementation:

C++




// C++ program to find  maximum possible determinant
// of 0/n matrix.
#include <bits/stdc++.h>
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 neveropen=new GFG();
            System.out.println("Maximum Determinant = "
                                + maxDet(n));
  
            System.out.println("Resultant Matrix :"); 
            neveropen.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 neveropen=new GFG();
            Console.WriteLine("Maximum Determinant = "
                                + maxDet(n));
  
            Console.WriteLine("Resultant Matrix :"); 
            neveropen.resMatrix(n); 
  
    }
}
  
// This code is contributed by vt_m.


PHP




<?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("<br>");
    }
  
// Driver code
let n = 15;
  
document.write("Maximum Determinant = "
               maxDet(n) + "<br>");
  
document.write("Resultant Matrix :<br>"); 
               resMatrix(n); 
                 
// This code is contributed by sravan kumar
  
</script>


Output

Maximum Determinant = 6750
Resultant Matrix :
15 15 0 
0 15 15 
15 0 15 

Time complexity: O(1).
Auxiliary Space: O(1), since no extra space has been taken.

Exercise: Extend the above solution for a generalized k x k matrix.

If you like neveropen and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to review-team@geeksforgeeks.org. See your article appearing on the neveropen main page and help other Geeks.

Feeling lost in the world of random DSA topics, wasting time without progress? It’s time for a change! Join our DSA course, where we’ll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!

RELATED ARTICLES

Most Popular

Recent Comments