#include<stdio.h>
#include<math.h>
int main()
{
int n,m,x,y,t;
while(scanf("%d",&m)!=EOF)
{
if(m==0) break;
int t=(int)sqrt(m);
if(t%2==1&&t*t==m)
{
t=(t-1)/2;
printf("%d %d/n",t,-t);
}
else
{
n=(t+1)/2;
if(m>=(4*n*n-4*n+2)&& m<=(4*n*n-3*n+1))
{
y=m-(4*n*n-3*n+1);
printf("%d %d/n",n,y);
}
else
if(m<=4*n*n-2*n+1&&m>4*n*n-3*n+1)
{
y=m-(4*n*n-3*n+1);
printf("%d %d/n",n,y);
}
else
if(m>4*n*n-2*n+1&&m<=4*n*n-n+1)
{
x=m-(4*n*n-n+1);
printf("%d %d/n",-x,n);
}
else
if(m<=4*n*n+1&&m>4*n*n-n+1)
{
x=m-(4*n*n-n+1);
printf("%d %d/n",-x,n);
}
else
if(m>4*n*n+1&&m<=4*n*n+n+1)
{
y=m-(4*n*n+n+1);
printf("%d %d/n",-n,-y);
}
else
if(m>4*n*n+n+1&&m<=4*n*n+2*n+1)
{
y=m-(4*n*n+n+1);
printf("%d %d/n",-n,-y);
}
else
if(m>4*n*n+2*n+1&&m<=4*n*n+3*n+1)
{
x=m-(4*n*n+3*n+1);
printf("%d %d/n",x,-n);
}
else
if(m>4*n*n+3*n+1&&m<=(2*n+1)*(2*n+1))
{
x=m-(4*n*n+3*n+1);
printf("%d %d/n",x,-n);
}
}
}
return 0;
}
2647: Restaurant II
最新推荐文章于 2020-06-27 23:57:17 发布
本文提供了一段C语言代码,该代码用于计算特殊类型的整数并输出特定坐标。通过使用sqrt函数来确定输入整数是否为完全平方数,并进一步判断其坐标位置。针对不同的数值范围,程序采取了不同的计算策略来确定坐标。
2170

被折叠的 条评论
为什么被折叠?



