1 条题解

  • 0
    @ 2025-12-1 19:51:16

    注意,不能直接在双重循环里面输出yes,不然会输出多个yes

    以下错误代码:只能跳出 里面的y循环

    #include <bits/stdc++.h>
    using namespace std;
    int main() {	
    	int n ;
    	cin >> n ;
    	while ( n -- )
    	{
    		int a ;
    		cin >> a ;
    		int flag = 0 ;
    		for ( int x = 1 ; x * x <= a ; x ++)
    		{
    			for (int y = x ; y*y <= a; y ++)
    			{
    				if ( x*x + y*y == a)
    				{
    					flag = 1;
    					cout << "Yes" << endl;
    					break ;
    				}
    			}
    		}
    		if ( flag == 0)	
    		{
    			cout << "No" << endl ;
    		}
    	}
    	
    	return 0;
    }
    
    
    2
    164356
    475724
    
    

    信息

    ID
    5242
    时间
    1000ms
    内存
    256MiB
    难度
    9
    标签
    递交数
    12
    已通过
    3
    上传者