两个指针一个从1开始递增,一个从sqrt(n)递减。
int main()
{
int n,x,y,sn;
cin>>n;
sn=sqrt(n);
x=1,y=sn;
while(x<=y)
{
if(x*x+y*y==n)
x++,j--;
if(x*x+y*y<n)
x++;
else
y--;
}
}
两个指针一个从1开始递增,一个从sqrt(n)递减。
int main()
{
int n,x,y,sn;
cin>>n;
sn=sqrt(n);
x=1,y=sn;
while(x<=y)
{
if(x*x+y*y==n)
x++,j--;
if(x*x+y*y<n)
x++;
else
y--;
}
}