마방진을 새로 생성하거나, 가지고 있는 숫자 배열의 행·열·대각선 합을 계산해 마방진인지 검증할 수 있습니다. 생성 모드에서는 시작 숫자와 증가값을 바꾼 등차수열 마방진도 만들 수 있습니다.
마방진 생성
마방진 계산·검증
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
이 사이트는 광고 수익으로 유지되고 있습니다. 배너 또는 여기를 클릭하여 구매해 주시면 유지에 도움을 주실 수 있습니다.
마방진이란?
마방진(Magic Square)은 여러 숫자를 정사각형 격자에 배열하여 각 가로줄, 세로줄, 두 주대각선의 합이 모두 같아지도록 만든 숫자 배열입니다. 같은 합이 되는 값을 마방진 상수(Magic Constant)라고 합니다.
특히
1부터 까지의 서로 다른 자연수를 한 번씩 사용해서 만든 마방진을 정규 마방진이라고 합니다. 예를 들어, 3×3 정규 마방진은 1부터 9까지의 숫자를 한 번씩 사용하며, 모든 행·열·대각선의 합이 15가 됩니다.마방진 공식 — 마방진 상수 구하는 방법
1부터 까지의 숫자를 사용하는 정규 마방진의 마방진 상수는 다음 공식으로 계산합니다.
여기서 은 마방진 상수, 은 마방진의 차수를 뜻합니다.
이 공식은 1부터 까지의 전체 합을 개의 행으로 나누면 쉽게 이해할 수 있습니다.
예를 들어, 3×3 마방진에서는 다음과 같이 계산합니다.
따라서 3×3 마방진의 합은 15, 4×4 마방진은 34, 5×5 마방진은 65입니다.
3×3 마방진 예시
가장 널리 알려진 3×3 마방진의 한 예는 다음과 같습니다.
8
1
6
3
5
7
4
9
2
위 배열에서는 , , 가 됩니다. 세로 방향과 두 대각선도 모두 합이 15이므로 올바른 마방진입니다.
마방진의 역사 — 로슈에서 현대 수학까지
마방진은 매우 오래된 수학 퍼즐입니다. 가장 유명한 초기 사례는 중국에서 전해지는 낙서(洛書, Lo Shu)입니다. 낙서는 1부터 9까지의 숫자를 3×3 형태로 배치하여 가로·세로·대각선의 합이 모두 15가 되는 배열로, 오늘날 대표적인 3×3 마방진으로 알려져 있습니다.
이후 마방진은 중국을 비롯해 인도, 이슬람권, 유럽 등 여러 지역에서 수학적·철학적 대상으로 연구되었습니다. 유럽에서는 독일 화가이자 수학에 관심이 많았던 알브레히트 뒤러(Albrecht Dürer)의 1514년 판화 Melencolia I에 등장하는 4×4 마방진이 특히 유명합니다. 이 마방진은 각 행과 열, 주대각선의 합이 34가 되며, 아래쪽 가운데 두 숫자 15와 14가 작품 제작 연도인 1514를 나타내도록 배치되어 있습니다.
한국 수학사에서도 관련 연구를 찾을 수 있습니다. 조선 후기 학자 최석정은 『구수략』에서 마방진과 라틴방진에 관련된 수학적 배열을 연구했습니다. 특히 오늘날 직교 라틴방진으로 해석되는 배열을 다루었다는 점에서 조합수학 역사에서도 주목받고 있습니다.
홀수차 마방진 만드는 법
3×3, 5×5, 7×7처럼 차수가 홀수인 마방진은 흔히 샴 방법(Siamese Method)이라고 부르는 규칙으로 만들 수 있습니다.
기본적인 방법은 첫 번째 행의 가운데 칸에서 시작하여 숫자를 하나씩 넣고, 다음 숫자를 한 칸 위, 한 칸 오른쪽으로 이동하며 배치하는 것입니다. 격자의 끝을 벗어나면 반대쪽으로 이어서 이동하고, 이미 숫자가 있는 칸을 만나면 이전 위치에서 한 칸 아래로 이동합니다.
이 과정을 부터 까지 반복하면 모든 행·열·대각선의 합이 같은 홀수차 마방진을 만들 수 있습니다.
짝수차 마방진 만드는 법
짝수차 마방진은 차수에 따라 생성 방법이 다시 나뉩니다.
- 4의 배수인 차수 — 4×4, 8×8, 12×12처럼 인 경우입니다. 일정한 위치의 값을 반대쪽 값으로 치환하는 방식으로 만들 수 있습니다.
- 4k+2 형태의 차수 — 6×6, 10×10, 14×14처럼 인 경우입니다. 홀수차 마방진을 여러 영역으로 구성한 뒤 일부 열을 교환하는 Strachey 방식과 같은 별도의 생성 방법이 필요합니다.
이 마방진 생성기는 입력한 차수를 판별하여 홀수차, 4의 배수 짝수차, 4k+2 형태의 짝수차에 맞는 방법으로 자동 생성합니다.
2×2 마방진은 왜 만들 수 없나요?
1부터 4까지의 서로 다른 숫자를 한 번씩 사용하는 2×2 정규 마방진은 존재하지 않습니다.
2×2 배열을 라고 하면 각 행과 열의 합이 같아야 하므로 여러 조건을 동시에 만족해야 합니다. 하지만 네 개의 서로 다른 숫자로는 두 행, 두 열, 두 대각선의 합을 모두 동일하게 만들 수 없습니다.
따라서 일반적인 정규 마방진은 1차 또는 3차 이상에서는 만들 수 있지만 2차는 예외적으로 존재하지 않습니다.
시작 숫자와 증가값을 바꾼 마방진
이 계산기는 1, 2, 3, …처럼 연속된 자연수뿐 아니라 등차수열을 이용한 마방진도 생성할 수 있습니다.
시작 숫자를 , 증가값을 라고 하면 사용되는 숫자는 다음과 같습니다.
이 경우 마방진 상수는 다음 공식으로 계산할 수 있습니다.
예를 들어, 시작 숫자를 10, 증가값을 2로 설정하면 10, 12, 14, 16, … 형태의 숫자로 마방진을 생성합니다. 각 숫자에 같은 선형 변환을 적용하기 때문에 행·열·대각선의 합이 동일하다는 마방진의 성질은 그대로 유지됩니다.
마방진 생성기 사용 방법
- [마방진 생성] 모드를 선택합니다.
- 만들고 싶은 마방진 차수를 입력합니다. 예를 들어, 3을 입력하면 3×3, 5를 입력하면 5×5 마방진이 생성됩니다.
- 일반적인 정규 마방진을 만들려면 시작 숫자 1, 증가값 1을 사용합니다.
- 필요하면 시작 숫자와 증가값을 변경하여 등차수열 형태의 마방진을 만들 수 있습니다.
- [일부 숫자를 빈칸으로 만들기]를 선택하면 생성된 마방진의 숫자 일부를 숨겨 마방진 문제나 학습용 퍼즐로 만들 수 있습니다.
- 생성 후에는 [정답 보기·숨기기]와 [빈칸 다시 섞기]를 사용할 수 있습니다.
- [다른 배열 보기]에서는 같은 마방진을 회전하거나 대칭한 형태도 확인할 수 있습니다.
- [표 복사] 또는 [CSV 복사]를 이용하면 엑셀이나 구글 스프레드시트에 결과를 옮길 수 있습니다.
마방진 계산·검증 방법
직접 만든 마방진이나 문제집에 있는 숫자 배열이 실제 마방진인지 확인하려면 [마방진 계산·검증] 모드를 사용할 수 있습니다.
각 행의 숫자를 줄 단위로 입력하고 숫자 사이를 공백, 쉼표 또는 탭으로 구분하면 차수를 자동으로 인식합니다. 모르는 숫자는
?, _, x, □로 표시할 수 있습니다. 빈칸이 있으면 1부터 까지의 숫자를 한 번씩 사용하는 정규 마방진을 기준으로 행·열·대각선의 합과 남은 숫자를 함께 확인해 가능한 값을 자동으로 채웁니다. 빈칸이 없는 경우에는 입력한 배열의 전체 합과 각 행·열·대각선의 합을 계산해 마방진 여부를 검증합니다.입력된 모든 숫자의 합을 라고 하면, 마방진의 기준 합은 다음과 같습니다.
각 행과 열, 두 주대각선의 합이 모두 과 같으면 마방진 조건을 만족합니다. 또한 1부터 까지의 숫자가 중복 없이 정확히 한 번씩 사용되었다면 정규 마방진으로 판단할 수 있습니다.
마방진은 어디에 활용되나요?
마방진은 단순한 숫자 퍼즐을 넘어 수학 규칙 찾기, 조합론, 배열 학습, 알고리즘 연습 등에 활용됩니다. 초등·중등 수학에서는 숫자의 규칙과 덧셈 관계를 이해하는 문제로 활용할 수 있고, 프로그래밍에서는 2차원 배열, 반복문, 좌표 이동, 회전·대칭 변환을 연습하는 예제로 사용할 수 있습니다.
숫자를 일부 숨기면 마방진 빈칸 채우기 문제로도 활용할 수 있습니다. 다만 임의로 숫자를 숨긴 문제는 빈칸의 위치와 개수에 따라 정답이 하나로 결정되지 않을 수도 있으므로 학습용 문제를 만들 때 참고하세요.
자주 묻는 질문
- Q. 3×3 마방진의 합은 얼마인가요?A. 15입니다. 공식 에을 대입하면가 됩니다.
- Q. 4×4 마방진의 합은 얼마인가요?A. 34입니다. 1부터 16까지 사용하는 4×4 정규 마방진에서는 각 행·열·주대각선의 합이 34가 됩니다.
- Q. 5×5 마방진의 합은 얼마인가요?A. 65입니다.이므로 모든 행·열·주대각선의 합이 65가 됩니다.
- Q. 2×2 마방진도 만들 수 있나요?A. 1부터 4까지의 서로 다른 자연수를 사용하는 2×2 정규 마방진은 존재하지 않습니다. 정규 마방진은 1차와 3차 이상의 차수에서 만들 수 있습니다.
- Q. 같은 차수에서도 서로 다른 마방진이 있나요?A. 있습니다. 하나의 마방진을 회전하거나 대칭해도 마방진 조건이 유지됩니다. 또한 차수가 커질수록 회전·대칭 관계가 아닌 서로 다른 배열도 매우 많아집니다.
- Q. 음수나 0이 들어가는 마방진도 만들 수 있나요?A. 이 도구에서는 시작 숫자와 증가값을 조정하여 0이나 음수가 포함된 등차수열 마방진도 만들 수 있습니다. 다만 일반적으로 정규 마방진이라고 할 때는 1부터 까지의 자연수를 사용합니다.
- Q. 마방진인지 직접 확인하려면 어떻게 하나요?A. 모든 가로줄과 세로줄, 두 주대각선의 합을 계산해 동일한 값이 나오는지 확인하면 됩니다. 이 페이지의 마방진 계산·검증 모드에서는 숫자 배열을 붙여넣으면 해당 값을 자동으로 계산합니다.
- Q. 빈칸이 있는 마방진도 계산할 수 있나요?A. 가능합니다. 모르는 칸에
?또는_를 입력하면 1부터 까지 사용하는 정규 마방진을 기준으로 빈칸 값을 계산합니다. 조건을 만족하는 배열이 여러 개라면 가능한 해 중 하나를 표시하며, 빈칸이 너무 많아 경우의 수가 큰 경우에는 숫자를 조금 더 입력해야 할 수 있습니다. - Q. 생성한 마방진을 빈칸 문제로 만들 수 있나요?A. 가능합니다. 생성 모드에서 일부 숫자를 빈칸으로 만들기를 선택하고 빈칸 수를 지정하면 임의의 칸을 숨길 수 있습니다. 정답 보기·숨기기와 빈칸 다시 섞기도 지원합니다. 다만 임의로 생성한 빈칸 문제가 항상 하나의 해만 갖는 것은 아닙니다.
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
이 사이트는 광고 수익으로 유지되고 있습니다. 배너 또는 여기를 클릭하여 구매해 주시면 유지에 도움을 주실 수 있습니다.



