题目详情:
解答:
#include<stdio.h>
#include<math.h>
int main(){
int N;
scanf("%d",&N);
int x=1;
int sign=-1;
//x>0,y>0,x<=y,所以x^2<=y^2,x^2<=N/2
while(x*x<=N/2){
int y=(int)sqrt(N-x*x);
if(y*y+x*x==N){
if(sign==1){
printf("\n");
}
printf("%d %d",x,y);
sign=1;
}
x++;
}
if(sign==-1){
printf("No Solution");
}
return 0;
}