반응형
홀수 마방진(魔方陣, magic square)
홀수 마방진을 구하는 방법은
대각선을 숫자로 채워가면서 상하좌우에 튀어나온 숫자는 반대편으로 넘기면 됩니다.
C언어 코드
#include <stdio.h>
#define N 7 // n은 홀수
int main()
{
int a[N + 1][N + 1], i, j, k;
i = 0;
j = N / 2 + 1; // 열의 중앙 위치
for (k = 1; k <= N * N; k++)
{
if (k % N == 1)
i++;
else
{
i--;
j++;
}
if (i == 0)
i = N;
if (j > N)
j = 1;
a[i][j] = k;
}
for (i = 1; i <= N; i++)
{
for (j = 1; j <= N; j++)
printf("%2d ", a[i][j]);
printf("\n");
}
return 0;
}
반응형
'C_C++' 카테고리의 다른 글
(C언어) 연결리스트: 맨 앞에 노드 추가하기 Linked List (0) | 2023.04.12 |
---|---|
(C언어) 연결리스트: 맨 뒤에 노드 추가하기 Linked List (0) | 2023.04.11 |
(C언어) 마름모 모양으로 별찍기 (0) | 2023.04.08 |
(C언어) uniq: 중복 라인을 제거하는 소스 (0) | 2023.03.28 |
비주얼스튜디오에서 스택(stack) 크기 설정(늘리기) (0) | 2023.03.25 |