Notice
Recent Posts
Recent Comments
Link
- Outsider's Dev Story
- 흔한 개발자의 개발 노트
- 내 아이큐 80, 너도 80, 둘이 합쳐 160 - 내…
- 조대협의 블로그
- 자바캔(Java Can Do IT) / 최범균 님
- Sangon, Han – 개발자; 읽고 생각하고 쓰고 …
- The Evolution of the Web
- NAVER D2
- Dashboard - SLiPP
- ITWorld Korea - 테크놀로지 리더를 위한 글…
- OKKY - All That Developer
- 웹Frameworks
- 오픈튜토리얼스
- 위키독스 / 온라인 책 제작 공유 플랫폼 서비스
- 블로터
- IT OnAir
- 한 처음에 / 백창92
- Divide my knowledge / 완프최
- SERI.org
Bigfat
[Java 예제] 홀수 마방진(a magic square of odd order) 본문
자바로 콘솔에 홀수 마방진을 출력해보자
간단하게 구현하기 위해 조건이 많은 홀수 마방진 소스다.
시작(1)은 첫 번째 줄 중앙부터 시작하도록 하였다.
1부터 시작해 10시 방향(↖)으로 2차원 배열을 채워나간다.
향상된 for문과 2차원 배열을 익히기 좋은 예제다.
마방진은 짝수와 홀수의 풀이법이 다르므로 짝수 마방진은 다음 기회에...
public class MagicSquare { public void drawMagicSquare(int size) { // Parameter: 마방진의 크기 int[][] ms = new int[size][size]; int center = size / 2; int x = 0; int y = center; ms[x][y] = 1; if((size % 2) == 1) { for(int num = 2; num < size*size + 1; num++) { x -= 1; y -= 1; if(x < 0) { if(y < 0) { x += 2; y += 1; } else { x += size; } } else { if(y < 0) { y += size; } else { if(ms[x][y] != 0) { x += 2; y += 1; } } } ms[x][y] = num; } for(int[] i : ms) { for(int j : i) { System.out.print(j + "\t"); } System.out.println(); } } else { System.out.println("홀수만 입력하시오."); } } }
'Java' 카테고리의 다른 글
[Java] 데이터베이스 연동하기 (0) | 2017.02.23 |
---|---|
[Java 예제] 채팅(chatting) (2) | 2017.02.22 |
[Java 예제] 로또(a lottery) (0) | 2017.02.13 |
[Java 예제] 다이아몬드(a diamond) (0) | 2017.02.11 |