도구스학업·수학

마방진 생성·검증기

n차 마방진을 만들고 행·열·두 대각선의 합을 확인합니다. 차수에 따라 샴 방식·대각선 교환·LUX 방식으로 갈라 만들며, 직접 넣은 정사각 배열이 마방진인지도 검증합니다.

차수 n

5차 마방진 · 샴 방식 (홀수 차)

한 줄의 합 65

n(n²+1)/2 = 5×(25+1)÷2

만든 마방진

1724181565
2357141665
4613202265
10121921365
1118252965
6565656565

가장자리 숫자가 각 행·열의 합입니다. 진하게 표시된 칸이 두 대각선입니다.

검사 항목

1부터 n²까지 한 번씩만족
행 합모두 맞음
열 합모두 맞음
대각선 · 반대각선65 · 65
합만 맞다고 마방진이 아닙니다. 1부터 n²까지가 한 번씩 들어 있어야 합니다. 모든 칸에 5를 채우면 3×3의 모든 줄이 15가 되지만 마방진이라 부르지 않습니다. 검증에서 이것까지 함께 봅니다.

계산 방법

  1. 1차수 n을 고르면 마방진을 만들어 줍니다. 홀수·4의 배수·그 밖의 짝수마다 만드는 방법이 다릅니다.
  2. 2가장자리에 표시된 행·열의 합이 모두 같은지, 두 대각선도 같은지 봅니다.
  3. 3«검증하기»로 바꾸면 직접 넣은 정사각 배열이 마방진인지 확인할 수 있습니다.

자주 묻는 질문

n(n²+1)/2로 계산됩니다. 1부터 n²까지의 합이 n²(n²+1)/2이고 이것이 n개의 행에 고르게 나뉘기 때문입니다. 3차는 15, 4차는 34, 5차는 65입니다. 맞춰 넣는 값이 아니라 처음부터 정해져 있습니다.

1·2·3·4를 어떻게 놓아도 모든 줄의 합을 같게 할 수 없기 때문입니다. 필요한 합은 5인데, 4가 든 행과 1이 든 행이 동시에 5가 되려면 4+1과 2+3이 짝지어야 하고 그러면 열이나 대각선 하나가 반드시 어긋납니다. 1차는 [1] 하나뿐이라 자명하게 성립하고, 3차부터 실제로 만들 수 있습니다.

n을 4로 나눈 나머지에 따라 통하는 절차가 다르기 때문입니다. 홀수는 샴 방식(오른쪽 위로 올라가며 채우기), 4의 배수는 대각선 교환(순서대로 채운 뒤 일부를 반대편 값으로 바꾸기)을 씁니다. 6·10·14처럼 짝수이면서 4로 나눠지지 않는 차수는 두 방법이 모두 통하지 않아 콘웨이의 LUX 방식을 씁니다.

아닙니다. 1부터 n²까지가 한 번씩 들어 있어야 합니다. 3×3의 모든 칸에 5를 채우면 행·열·대각선의 합이 전부 15가 되지만 마방진이라 부르지 않습니다. 이 도구의 검증은 합과 함께 숫자가 겹치거나 빠지지 않았는지도 봅니다.

아닙니다. 3차는 회전·뒤집기를 같은 것으로 보면 하나뿐이지만, 4차는 880가지, 5차는 2억 7천만 가지가 넘습니다. 이 도구는 정해진 절차로 그중 하나를 만들어 주는 것이며, 다른 배치도 얼마든지 마방진일 수 있습니다.

전송되지 않습니다. 계산은 전부 브라우저 안에서 이뤄지고, 입력값은 이 브라우저의 localStorage에만 남습니다.

알아두면 좋은 점

  • 여기서 만드는 것은 보통 마방진입니다. 어느 대각선을 감아서 세어도 합이 같은 완전 마방진(범대각선)은 조건이 따로 있어 다루지 않습니다.
  • 화면에 담기도록 20차까지만 만듭니다.
  • 검증은 행·열·두 대각선의 합과 1부터 n²까지의 사용 여부를 봅니다. 회전이나 뒤집기로 같은 마방진인지까지는 따지지 않습니다.
  • 만든 마방진을 그대로 검증기에 넣어 통과하는지를 테스트로 확인해 두었습니다. 만드는 코드와 세는 코드가 서로 다른 논리라 한쪽이 틀리면 걸립니다.

함께 보면 좋은 도구

마지막 검증: 2026년 9월 1일 · 결과는 참고용 추정치입니다.