static void Main(string[] args)
{
//BufferedReader buf=new BufferedReader(new InputStreamReader(System.in));
//System.out.print("홀수를 입력하세요 : ");
//int odd=Integer.parseInt(buf.readLine());
Console.Write("홀수를 입력하쇼...");
int odd;
odd = Console.Read() - 48;
//int odd = 5;
if((odd%2)!=0)
{
int[,] arr=new int[odd,odd];
arr[0,odd/2]=1;
int x=0;
int y=odd/2;
for(int i=2;i<=(odd*odd);i++)
{
if(x-1<0 && y+1<odd) //위로 벗어날 때
{
arr[odd-1,y+1]=i;
x=odd-1;
y=y+1;
}
else if(x-1>=0 && y+1>=odd) //오른쪽으로 벗어날 때
{
arr[x-1,0]=i;
x=x-1;
y=0;
}
else if(x-1<0 && y+1>=odd) //위와 오른쪽으로 벗어날 때
{
arr[x+1,y]=i;
x=x+1;
}
else if(x-1>=0 && y+1<odd) //벗어나지 않을 때
{
if(arr[x-1,y+1]==0) //배열이 비어있으면
{
arr[x-1,y+1]=i;
x=x-1;
y=y+1;
}
else if(arr[x-1,y+1]!=0) //배열에 값이 들어있으면
{
arr[x+1,y]=i;
x=x+1;
}
}
}
for(int i=0;i<odd;i++)
{
for(int j=0;j<odd;j++)
{
if(arr[i,j]>9)
Console.Write(arr[i,j]+" ");
else
Console.Write(" "+arr[i,j]+" ");
}
Console.WriteLine();
}
}
else
{
Console.Write("짝수를 입력하셨습니다.");
}
} //main
{
//BufferedReader buf=new BufferedReader(new InputStreamReader(System.in));
//System.out.print("홀수를 입력하세요 : ");
//int odd=Integer.parseInt(buf.readLine());
Console.Write("홀수를 입력하쇼...");
int odd;
odd = Console.Read() - 48;
//int odd = 5;
if((odd%2)!=0)
{
int[,] arr=new int[odd,odd];
arr[0,odd/2]=1;
int x=0;
int y=odd/2;
for(int i=2;i<=(odd*odd);i++)
{
if(x-1<0 && y+1<odd) //위로 벗어날 때
{
arr[odd-1,y+1]=i;
x=odd-1;
y=y+1;
}
else if(x-1>=0 && y+1>=odd) //오른쪽으로 벗어날 때
{
arr[x-1,0]=i;
x=x-1;
y=0;
}
else if(x-1<0 && y+1>=odd) //위와 오른쪽으로 벗어날 때
{
arr[x+1,y]=i;
x=x+1;
}
else if(x-1>=0 && y+1<odd) //벗어나지 않을 때
{
if(arr[x-1,y+1]==0) //배열이 비어있으면
{
arr[x-1,y+1]=i;
x=x-1;
y=y+1;
}
else if(arr[x-1,y+1]!=0) //배열에 값이 들어있으면
{
arr[x+1,y]=i;
x=x+1;
}
}
}
for(int i=0;i<odd;i++)
{
for(int j=0;j<odd;j++)
{
if(arr[i,j]>9)
Console.Write(arr[i,j]+" ");
else
Console.Write(" "+arr[i,j]+" ");
}
Console.WriteLine();
}
}
else
{
Console.Write("짝수를 입력하셨습니다.");
}
} //main