已解决 王泽轩 资深天翼 超时50: #include<stdio.h> main(){ int n,xnt=0; scanf("%d",&n); for(int i=1;i<=n;i++){ for(int j=i;j<=n;j++){ for(int k=j;k<=n;k++){ if(i*i+j*j==k*k){ printf("%d %d %d\n",i,j,k); xnt++; } } } } if(xnt==0)printf("No"); } 用C怎么还超时????????????????
已采纳 汪宇航 新手启示者 ............................... TA应该不知道C和C++是一样的吧。。。 正解: for(x=1;x<=n;x++){ for(y=x+1;y<=n;y++){ for(z=y+1;z<=n;z++){ if(x*x+y*y==z*z){ cout<<x<<" "<<y<<" "<<z; cout<<endl; cnt=1; } } } } 最后加个特判