Outsider's Dev Story

Stay Hungry. Stay Foolish. Don't Be Satisfied.
RetroTech 팟캐스트 44BITS 팟캐스트

마방진 만들기

VS 2005에서 C#으로 만든 마방진....

마방진(Magic Square)이란 1에서 n2까지의 정수를 n행 n열의 정사각형 모양으로 나열하여 가로·세로·대각선의 합이 전부 같아지도록 한 것이다.

마방진은 쉽게 말하면 3이상의 수로 NxN의 진을 만든후에 각 칸에 숫자를 넣어서 가로, 세로, 대각선의 합을 모두 동일하게 만드는 것인데 이걸 프로그램으로 만든것이다.

차수에 따라 여러가지 마방진을 해결할 수 있는 해법이 존재하고 있는데 나는 신권영의 마방진 세상에 나와 있는 해법을 가지고 마방진을 만들었다.

기본적으로 홀수차 마방진을 만드는 방법이 가장 쉽고...

4N차수의 마방진을 만드는 것이 약간 어렵고 4N+2차수의 마방진을 만드는 것이 가장 어렵다.

AbsMabangzin.cs -> 마방진해법 클랠스들에서 공통적으로 사용하는 추상클래스
CheckMabangzin.cs -> 마방진을 만든 후에 마방진이 제대로 만들었는지 확인한다.
DecideMabangzin.cs -> 메인클래스에서 마방진을 만들려고 숫자를 받았을때 어느 마방진해법을 사용할것인지를 선택한다.
Even4NMabangzin.cs -> 4N차수 마방진에 대한 해법
Even6NMabangzin.cs -> 4N+2차수 마방진에 대한 해법
MabangzinMain.cs -> 메인, 숫자받아서 DecideMabangzin 호출
OddMabangzin.cs -> 홀수차 마방진에 대한 해법



2007/06/18 10:35 2007/06/18 10:35