3.1 编程题 1
试题名称:平方之和
时间限制: 1.0 s
内存限制: 512.0 MB
3.1.1 题面描述
小杨有 n 个正整数 a_1, a_2, \cdots, a_n,他想知道对于所有的 i (1 \leq i \leq n),是否存在两个正整数 x 和 y 满足 x \times x + y \times y = a_i。
3.1.2 输入格式
第一行包含一个正整数 n,代表正整数数量。
接下来有 n 行,每行包含一个正整数 a_i。
3.1.3 输出格式
对于每个正整数 a_i,如果存在两个正整数 x 和 y 满足 x \times x + y \times y = a_i,输出 "Yes",否则输出 "No"。
3.1.4 样例 1
输入
2 3 5
输出
No
Yes
3.1.5 样例解释
对于第一个样例,1×1 + 2×2 = 5,因此答案为 Yes。
3.1.6 数据范围
1 \leq n \leq 10 ^ 4, 1 \leq a_i \leq 10 ^ 6
3.1.7 参考程序
list=[]
n=int(input())
for i in range(n):
list.append(int(input()))
for i in list:
num=i
result=0
for x in range(1,int((num/2)**0.5)+1):
if num-x**2==(int((num-x**2)**0.5))**2:
print("YES")
result=1
break
if result==0:
print("NO")