#include <stdio.h>
#include <math.h>
int main(int argc,char *argv[])
{
int x = 33; //0点的坐标
int y = 21;
int order; //次序
int n = 0; //向下取整后的平方根
int m = 0; //对n取平方
printf("Enter a order:");
scanf("%d",&order);
n = (int)sqrt((double)order);
if(n%2) //只需要偶数
{
n--;
}
m = n*n; //从这一点开始计算
x = x - n/2; //开始点的坐标
y = y + n/2;
if( (order <= m+n) ) //第一条边
{
x = x;
y = y - (order - m);
}
else if(order <= (m+n)+n+1) //第二条边
{
x = x + (order - (m+n));
y = y - n;
}
else if(order <= (m+n+n+1)+n+1) //第三条边
{
x = x + (n+1);
y = (y - n) + (order - (m+n+n+1));
}
else if(order < (m+n+n+1+n+1)+n+2) //第四条边
{
x = x + (n+1) - (order-(m+n+n+1+n+1));
y = y + 1;
}
printf("(%d,%d)\n",x,y);
return 0;
}