问题标题: 酷町堂:4978:勾股定理 Time Limit Exceeded:50分

0
0
已解决
王泽轩
王泽轩
资深天翼
资深天翼

超时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怎么还超时????????????????


0
已采纳
汪宇航
汪宇航
新手启示者
新手启示者

...............................

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;

}

}

}

}

最后加个特判

我要回答