Advertisement
Guest User

Untitled

a guest
Jan 29th, 2020
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.24 KB | None | 0 0
  1. import java.util.*;
  2.  
  3. public class MagicSquare {
  4.  
  5.     public static void main(String[] args) {
  6.         int[][] magicSquare = {
  7.             {2, 7, 6},
  8.             {9, 5, 1},
  9.             {4, 3, 8}
  10.         };
  11.         System.out.println(isMagicSquare(magicSquare));
  12.     }
  13.  
  14.     public static boolean isMagicSquare(int[][] square) {
  15.         int length = square.length;
  16.  
  17.         int[][] rows = square;
  18.         int[][] columns = new int[length][length];
  19.         int[][] diagonals = new int[2][length];
  20.  
  21.         for (int i = 0; i < length; i++) {
  22.             for (int j = 0; j < length; j++) {
  23.                 columns[i][j] = square[j][i];
  24.             }
  25.             diagonals[0][i] = square[length-(length-i)][length-(length-i)];
  26.             diagonals[1][i] = square[length-(length-i)][length-(length-(length-(i+1)))];
  27.         }
  28.  
  29.         return sumEquals(rows) && sumEquals(columns) && sumEquals(diagonals);
  30.     }
  31.  
  32.     public static boolean sumEquals(int[][] tab) {
  33.         int sum = sum(tab[0]);
  34.         for (int[] row : tab) {
  35.             if (sum != sum(row)) {
  36.                 return false;
  37.             }
  38.         }
  39.         return true;
  40.     }
  41.  
  42.     public static int sum(int[] tab) {
  43.         return Arrays.stream(tab).sum();
  44.     }
  45.  
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement