#include <stdio.h>
int main()
{
int n;
scanf("%d",&n);
int cot=0;
for(int x=1;x*x<=n;x++){
for(int y=x;x<=y;y++){
if(x*x+y*y==n){
printf("\n%d %d",x,y);
cot=1;
}
}
}
if(cot==0){
printf("No Solution");
}
return 0;
}
第8行 for(int y=x;x<=y;y++)
你这样写 y一开始等于x,执行一次循环体,就比x大了,越往后y越大,一直满足循环条件,一直在循环里面没出来所以超时了