2 条题解

  • 1
    @ 2026-9-19 17:33:39
    #include<iostream>
    
    #include<cmath>
    
    using namespace std;
    
    int main(){
      
        int n;
      
        cin>>n;
      
        for(int i=1;i<=n;i++){
          
            int a;
          
            cin>>a;
          
            int s=0;
          
            int maxi=sqrt(a);
          
            for(int x=1;x<=maxi;x++){
              
                for(int y=1;y<=maxi;y++){
                  
                    if(x*x+y*y==a){
                      
                        s=1;
                      
                        break;
                      
                    }
                  
                }
              
            }
          
            if(s==1) cout<<"Yes"<<endl;
              
            else cout<<"No"<<endl;
          
        }
      
        return 0;
      
    }
    
    • 0
      @ 2026-7-19 17:06:19

      import math

      n = int(input())

      for i in range(n):

      a = int(input())
      
      s = 0 #表示没有找到
      
      m =  int( math.sqrt(a) ) # 开平方,要转为正数
      
      for x in range(1,m+1):
      
          y = a - x*x
          
          y = int( math.sqrt(y) )
          
          if y*y == a - x*x   and y >= 1:
          
                  s = 1
                  
                  break
                  
      if s == 0:
      
          print("No")
          
      else:
      
          print("Yes")
      
      • 1

      信息

      ID
      20
      时间
      1000ms
      内存
      256MiB
      难度
      8
      标签
      递交数
      32
      已通过
      7
      上传者