70pts求调
查看原帖
70pts求调
1273612
Zhangyj32楼主2024/11/30 11:02
#include<bits/stdc++.h>
using namespace std;
unsigned long long val[10000005];
int main(){
    for(int i=0;i<10000005;i++)val[i]=i*i;
    unsigned long long n;
    cin>>n;
    for(int i=1;i<=n;i++){
        unsigned long long a;
        bool flag=0;
        cin>>a;
        for(int aa=1;aa<=a;aa++){
            unsigned long long sum=a-val[aa];
            unsigned long long sqr=sqrt(sum);
            if(sqr*sqr==sum&&sqr&&sqr*sqr+aa*aa==a){
				cout<<"Yes"<<endl;
				flag=1;
				break;
			}
        }
        if(!flag)cout<<"No"<<endl;
    }
}
2024/11/30 11:02
加载中...