Programa Java para Encontrar la Normal y la Traza de una Array

Para una array 2D dada, el propósito es encontrar la Traza y la Normal de la array.

La normal de una array se define como la raíz cuadrada de la suma de los cuadrados de todos los elementos de la array.

La traza de una array cuadrada dada se define como la suma de todos los elementos de la diagonal.

Ejemplos:

Input : matrix[][] = {{1, 4, 4},
                     {2, 3, 7},
                     {0, 5, 1}};
Output : Normal = 11  
         Trace  = 5
Explanation :  
Normal = sqrt(1*1+ 4*4 + 4*4 + 2*2 +
             3*3 + 7*7 + 0*0 + 5*5 + 1*1)    
       = 11
Trace  = 1+3+1 = 5

Input :matrix[][] = {{8, 9, 11},
                    {0, 1, 15},
                    {4, 10, -7}};
Output : Normal = 25  
         Trace  = 2
Explanation :  
Normal = sqrt(8*8 +9*9 + 11*11 + 0*0 + 1*1 +  
            15*15 + 4*4 + 10*10 + -7*-7) = 25   
Trace  = (8+1-7) = 2

Lightbox

Ejemplo:

Java

// Java program to find the trace
// and normal of the given matrix
 
import java.io.*;
 
class geeksforgeeks {
 
    // Dimension of the given matrix
    static int max = 50;
 
    // Finds Normal of the given
    // matrix of size N x N
    static int Normal(int matrix[][], int N)
    {
        // Initializing sum
        int s = 0;
        for (int j = 0; j < N; j++)
            for (int k = 0; k < N; k++)
                s += matrix[j][k] * matrix[j][k];
        return (int)Math.sqrt(s);
    }
 
    // Finds trace of the given
    // matrix of size N x N
    static int Trace(int matrix[][], int N)
    {
        int s = 0;
        for (int j = 0; j < N; j++)
            s += matrix[j][j];
        return s;
    }
 
    // The Driver code
    public static void main(String[] args)
    {
 
        int matrix[][] = {
            { 2, 3, 5, 6, 7 },      { 8, 9, 10, 11, 12 },
            { 13, 14, 15, 16, 17 }, { 18, 1, 3, 0, 6 },
            { 7, 8, 11, 8, 11 },
        };
 
        System.out.println("Trace of the Matrix is: "
                           + Trace(matrix, 5));
        System.out.println("Normal of the Matrix is: "
                           + Normal(matrix, 5));
    }
}
Producción

Trace of the Matrix is: 37
Normal of the Matrix is: 50

Complejidad de tiempo: O (N * N), ya que estamos usando bucles anidados para atravesar la array.

Espacio auxiliar: O(1), ya que no estamos utilizando ningún espacio adicional.

Publicación traducida automáticamente

Artículo escrito por Kanchan_Ray y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *