#3956. [GESP2406 二级] 平⽅之和

[GESP2406 二级] 平⽅之和

平⽅之和

题目描述

⼩杨有 个正整数 ,他想知道对于所有的 ( ),是否存在两个正整数 和 满⾜ 。

输入格式

第⼀⾏包含⼀个正整数 ,代表正整数数量。 之后 ⾏,每⾏包含⼀个正整数,代表 。

输出格式

对于每个正整数 ,如果存在两个正整数 和 满⾜ ,输出 Yes,否则输出 No。 3.1.4 样例1 1 2 2 5 3 4 1 Yes 2 No 3.1.5 样例解释 对于第⼀个正整数,存在 ,因此答案为 Yes。 3.1.6 数据范围 对于全部数据,保证有 。 3.1.7 参考程序 1 #include<bits/stdc++.h> 2 using namespace std; 3 bool check(int x){ 4 int y = sqrt(x); 5 return yy==x; 6 } 7 int main(){ 8 int t; 9 cin>>t; 10 while(t--){ 11 int n; 12 cin>>n; 13 int fl=0; 14 for(int i=1;ii<n;i++){ 15 int j=n-i*i; 16 if(check(j))fl=1; 17 } 18 if(fl)cout<<"Yes\n"; 19 else cout<<"No\n"; 20 } 21 }

样例输入 #1

1 2
2 5
3 4
1 Yes
2 No

样例输出 #1


样例解释 #1

对于第⼀个正整数,存在 ,因此答案为 Yes。

数据范围

对于全部数据,保证有 。

知识点与难度

本题涉及的知识点从属于 GESP 2级,难度等级:⭐ 。


测试点分布

Subtask 分值 测试点编号 说明
0 10 1~2 样例
1 20 3~8 小规模 / 特殊性质
2 15 9~11 Hack
3 30 12~20 中大规模
4 25 21~25 随机回归

生测试数据后,按实际 subtask 分组改写上表。