2015 IT 웹 기반 개발자과정/JAVA

JAVA MagicSquare [자바 마방진 홀수]

한여름밤의코딩 2015. 10. 30. 17:56

import java.util.Scanner;

public class MagicSquare {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in); // 키보드 입력기 생성
		int		Square[][] = new int [100][100];
		int		iCount , i , j , x , y, index , a , b;
		
		System.out.println("마방진의 크기는 = "); // 값의 범위 출력
		iCount = scanner.nextInt();
		x = (iCount / 2);
		y = (iCount / 2) * -1;
		index = 1;
		for(j=0;j<iCount;j++) {
			for(i=0;i<iCount;i++) {
				a = ((x+i) + iCount) % iCount;
				b = ((y+i) + iCount) % iCount;
				Square[a][b] = index;
//				System.out.printf("[%d][%d] = %d\n",x,y,index);					
				index++;
			}
			x = x - 1;
			y = y + 1;
		}
		System.out.println("마방진의 결과는 = "); // 값의 범위 출력
		for(j=0;j<iCount;j++) {
			for(i=0;i<iCount;i++) System.out.printf("%4d",Square[i][j]);
			System.out.println();					
		}
	}
}