思想:对数据进行分析,n平方总是落在一个特殊的地方,然后奇数的平方在一个轴上,偶数的平方再一个轴上,n平方与(n+1)平方之间的数分析一下即可得出,都是对n平方或(n+1)平方的位置进行移动即可。
Code:
#include<stdio.h>
#include<math.h>
int main()
{
int x;
while(scanf("%d",&x) && x)
{
int n=0;
int t=sqrt(x);
if(t*t==x) n=t;
else n=t+1;
int y=n*n-x;
if(n%2==0)
{
if(y<=n-1) printf("%d %d\n",n,1+y);
else printf("%d %d\n",2*n-y-1,n);
}
else
{
if(y<=n-1) printf("%d %d\n",1+y,n);
else printf("%d %d\n",n,2*n-y-1);
}
}
return 0;
}