#include <stdio.h>
#include <math.h>
int main()
{
int n;
int x,y;
int a=1;
scanf("%d",&n);
for(x=1;x<sqrt(1.0*n);x++){
for(y=1;y<n;y++){
if(x*x+y*y==n&&x<=y){
printf("%d %d",x,y);
printf("\n");
a=0;
}
}
}
if(a){
printf("No Solution");
}
return 0;
}
主要是用了一个开根号,注意是要以x的递增顺序输出,记得加换行