Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- public class MagicSquare {
- public static void main(String[] args) {
- int[][] magicSquare = {
- {2, 7, 6},
- {9, 5, 1},
- {4, 3, 8}
- };
- System.out.println(isMagicSquare(magicSquare));
- }
- public static boolean isMagicSquare(int[][] square) {
- int length = square.length;
- int[][] rows = square;
- int[][] columns = new int[length][length];
- int[][] diagonals = new int[2][length];
- for (int i = 0; i < length; i++) {
- for (int j = 0; j < length; j++) {
- columns[i][j] = square[j][i];
- }
- diagonals[0][i] = square[length-(length-i)][length-(length-i)];
- diagonals[1][i] = square[length-(length-i)][length-(length-(length-(i+1)))];
- }
- return sumEquals(rows) && sumEquals(columns) && sumEquals(diagonals);
- }
- public static boolean sumEquals(int[][] tab) {
- int sum = sum(tab[0]);
- for (int[] row : tab) {
- if (sum != sum(row)) {
- return false;
- }
- }
- return true;
- }
- public static int sum(int[] tab) {
- return Arrays.stream(tab).sum();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement