蓝桥杯四平方和,最佳写法#include<iostream>#include<cstdio>#include<cmath>using namespace std;int main(){ int n; scanf("%d",&n);//输入主角 int maxn=sqrt(n);//开方,类似于二分的思想 int flag=1;//定义标准符 for(int a=0;a<=maxn;a++) { for(int b=a;b<=maxn;b++) { for(int c=b;c<=maxn;c++) { double d=sqrt(n-a*a-b*b-c*c); if(d==(int)d){//如果OK,直接返回 printf("%d %d %d %d\n",a,b,c,(int)d); flag=0; break; } } if(flag==0)break;//如果ok,直接返回 } if(flag==0)break;//如果ok,直接返回 } return 0;}