#include <stdio.h>
#include <math.h>
int main()
{
int x,n;
scanf("%d",&x);
while(x!=0)
{
int i,j;
for(int k=0;k<sqrt((double)x)+10;k++)
{
if(k>=sqrt((double)x)&&k<sqrt((double)x)+1)
{
n=k;
break;
}
}
if(n%2==0)
{
if(x-(n-1)*(n-1)<=n)
{
j=n;
i=x-(n-1)*(n-1);
}
else
{
i=n;
j=2*n+(n-1)*(n-1)-x;
}
}
else
{
if(x-(n-1)*(n-1)<=n)
{
i=n;
j=x-(n-1)*(n-1);
}
else
{
j=n;
i=2*n+(n-1)*(n-1)-x;
}
}
printf("%d %d\n",i,j);
scanf("%d",&x);
}
return 0;
}
#include <math.h>
int main()
{
int x,n;
scanf("%d",&x);
while(x!=0)
{
int i,j;
for(int k=0;k<sqrt((double)x)+10;k++)
{
if(k>=sqrt((double)x)&&k<sqrt((double)x)+1)
{
n=k;
break;
}
}
if(n%2==0)
{
if(x-(n-1)*(n-1)<=n)
{
j=n;
i=x-(n-1)*(n-1);
}
else
{
i=n;
j=2*n+(n-1)*(n-1)-x;
}
}
else
{
if(x-(n-1)*(n-1)<=n)
{
i=n;
j=x-(n-1)*(n-1);
}
else
{
j=n;
i=2*n+(n-1)*(n-1)-x;
}
}
printf("%d %d\n",i,j);
scanf("%d",&x);
}
return 0;
}
本文介绍了一个C语言程序,该程序接收用户输入的一个整数,然后计算并输出一个坐标(i, j),该坐标与输入整数的平方根的整数部分紧密相关。通过判断输入整数与计算出的平方根附近数值的关系来确定坐标的具体位置。

3507

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



