# Check if Matrix sum is prime or not

Given a matrix mat[][], the task is to check that the sum of the elements of the matrix is prime or not.

Examples:

Input: mat[][] = {{1, 2}, {2, 1}}
Output: NO
Explanation:
Sum of Matrix = 1 + 2 + 2 + 1 = 6
Since 6 is not prime. Therefore, output is NO

Input: mat[][] = {{1, 2}, {2, 2}}
Output: YES
Explanation:
Sum of matrix = 1 + 2 + 2 + 2 = 7
Since 7 is prime. Therefore, output is YES

## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

Approach: The idea is to find the sum of the matrix using two nested loops and then finally check that the sum of the matrix is a prime or not. If yes then the output is YES otherwise the output is NO.

Below is the implementation of the above approach:

## C++

 `// C++ implementation to check ` `// if the sum of matrix  ` `// is prime or not ` ` `  `#include ` `using` `namespace` `std; ` ` `  `const` `int` `N = 4, M = 5; ` ` `  `// Function to check  ` `// whether a number ` `// is prime or not ` `bool` `isPrime(``int` `n) ` `{ ` `    ``// Corner case ` `    ``if` `(n <= 1) ` `        ``return` `false``; ` ` `  `    ``// Check from 2 to n-1 ` `    ``for` `(``int` `i = 2; i <= ``sqrt``(n); i++) ` `        ``if` `(n % i == 0) ` `            ``return` `false``; ` ` `  `    ``return` `true``; ` `} ` ` `  `// Function for to find the sum ` `// of the given matrix ` `int` `takeSum(``int` `a[N][M]) ` `{ ` `    ``int` `s = 0; ` `    ``for` `(``int` `i = 0; i < N; i++) ` `        ``for` `(``int` `j = 0; j < M; j++) ` `            ``s += a[i][j]; ` ` `  `    ``return` `s; ` `} ` ` `  `// Driver Code ` `int` `main() ` `{ ` ` `  `    ``int` `a[N][M] = { { 1, 2, 3, 4, 2 }, ` `                    ``{ 0, 1, 2, 3, 34 }, ` `                    ``{ 0, 34, 21, 12, 12 }, ` `                    ``{ 1, 2, 3, 6, 6 } }; ` `    ``int` `sum = takeSum(a); ` ` `  `    ``if` `(isPrime(sum)) ` `        ``cout << ``"YES"` `<< endl; ` `    ``else` `        ``cout << ``"NO"` `<< endl; ` `    ``return` `0; ` `} `

## Java

 `// Java implementation to check if  ` `// the sum of matrix is prime or not ` `class` `GFG{ ` ` `  `static` `int` `N = ``4``, M = ``5``; ` ` `  `// Function to check whether ` `// a number is prime or not ` `static` `boolean` `isPrime(``int` `n) ` `{ ` `     `  `    ``// Corner case ` `    ``if` `(n <= ``1``) ` `        ``return` `false``; ` ` `  `    ``// Check from 2 to n-1 ` `    ``for``(``int` `i = ``2``; i <= Math.sqrt(n); i++) ` `       ``if` `(n % i == ``0``) ` `           ``return` `false``; ` ` `  `    ``return` `true``; ` `} ` ` `  `// Function for to find the sum ` `// of the given matrix ` `static` `int` `takeSum(``int` `a[][]) ` `{ ` `    ``int` `s = ``0``; ` `     `  `    ``for``(``int` `i = ``0``; i < N; i++) ` `       ``for``(``int` `j = ``0``; j < M; j++) ` `          ``s += a[i][j]; ` ` `  `    ``return` `s; ` `} ` ` `  `// Driver Code ` `public` `static` `void` `main(String[] args) ` `{ ` `    ``int` `a[][] = { { ``1``, ``2``, ``3``, ``4``, ``2` `}, ` `                  ``{ ``0``, ``1``, ``2``, ``3``, ``34` `}, ` `                  ``{ ``0``, ``34``, ``21``, ``12``, ``12` `}, ` `                  ``{ ``1``, ``2``, ``3``, ``6``, ``6` `} }; ` `                   `  `    ``int` `sum = takeSum(a); ` ` `  `    ``if` `(isPrime(sum)) ` `        ``System.out.print(``"YES"` `+ ``"\n"``); ` `    ``else` `        ``System.out.print(``"NO"` `+ ``"\n"``); ` `} ` `} ` ` `  `// This code is contributed by PrinciRaj1992 `

## Python3

 `# Python3 implementation to check if  ` `# the sum of matrix is prime or not ` `import` `math ` ` `  `# Function to check whether a number ` `# is prime or not ` `def` `isPrime(n): ` ` `  `    ``# Corner case ` `    ``if` `(n <``=` `1``): ` `        ``return` `False``; ` ` `  `    ``# Check from 2 to n-1 ` `    ``for` `i ``in` `range``(``2``, (``int``)(math.sqrt(n)) ``+` `1``): ` `        ``if` `(n ``%` `i ``=``=` `0``): ` `            ``return` `False``; ` ` `  `    ``return` `True``; ` ` `  `# Function for to find the sum ` `# of the given matrix ` `def` `takeSum(a): ` ` `  `    ``s ``=` `0` `    ``for` `i ``in` `range``(``0``, ``4``): ` `        ``for` `j ``in` `range``(``0``, ``5``): ` `            ``s ``+``=` `a[i][j] ` ` `  `    ``return` `s; ` ` `  `# Driver Code ` `a ``=` `[ [ ``1``, ``2``, ``3``, ``4``, ``2` `], ` `      ``[ ``0``, ``1``, ``2``, ``3``, ``34` `], ` `      ``[ ``0``, ``34``, ``21``, ``12``, ``12` `], ` `      ``[ ``1``, ``2``, ``3``, ``6``, ``6` `] ]; ` `sum` `=` `takeSum(a); ` ` `  `if` `(isPrime(``sum``)): ` `    ``print``(``"YES"``) ` `else``: ` `    ``print``(``"NO"``) ` `     `  `# This code is contributed by grand_master `

## C#

 `// C# implementation to check if  ` `// the sum of matrix is prime or not ` `using` `System; ` `class` `GFG{ ` ` `  `static` `int` `N = 4, M = 5; ` ` `  `// Function to check whether ` `// a number is prime or not ` `static` `Boolean isPrime(``int` `n) ` `{ ` `     `  `    ``// Corner case ` `    ``if` `(n <= 1) ` `        ``return` `false``; ` ` `  `    ``// Check from 2 to n-1 ` `    ``for``(``int` `i = 2; i <= Math.Sqrt(n); i++) ` `    ``if` `(n % i == 0) ` `        ``return` `false``; ` ` `  `    ``return` `true``; ` `} ` ` `  `// Function for to find the sum ` `// of the given matrix ` `static` `int` `takeSum(``int` `[][]a) ` `{ ` `    ``int` `s = 0; ` `     `  `    ``for``(``int` `i = 0; i < N; i++) ` `    ``for``(``int` `j = 0; j < M; j++) ` `        ``s += a[i][j]; ` ` `  `    ``return` `s; ` `} ` ` `  `// Driver Code ` `public` `static` `void` `Main(String[] args) ` `{ ` `    ``int` `[][]a = ``new` `int``[][]  ` `                ``{ ` `                    ``new` `int``[] { 1, 2, 3, 4, 2 }, ` `                    ``new` `int``[] { 0, 1, 2, 3, 34 }, ` `                    ``new` `int``[] { 0, 34, 21, 12, 12 }, ` `                    ``new` `int``[] { 1, 2, 3, 6, 6 } ` `                ``}; ` `                 `  `    ``int` `sum = takeSum(a); ` ` `  `    ``if` `(isPrime(sum)) ` `        ``Console.Write(``"YES"` `+ ``"\n"``); ` `    ``else` `        ``Console.Write(``"NO"` `+ ``"\n"``); ` `} ` `} ` ` `  `// This code is contributed by shivanisinghss2110 `

Output:

```YES
```

Time Complexity: O(N*M)

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up Check out this Author's contributed articles.

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

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.