Augenstern... 2022-02-16 17:44 采纳率: 75%
浏览 56
已结题

pta7-21求特殊方程的正整数解 总是显示运行超时,各位可以帮我看看吗?

img

img

#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;
}

  • 写回答

1条回答 默认 最新

  • 谛凌 2022-02-16 17:59
    关注

    第8行 for(int y=x;x<=y;y++)
    你这样写 y一开始等于x,执行一次循环体,就比x大了,越往后y越大,一直满足循环条件,一直在循环里面没出来所以超时了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 2月17日
  • 已采纳回答 2月16日
  • 创建了问题 2月16日