A32028. 平方之和
填空题
较易
知识点
题目描述
平方之和
题目描述
小杨有n个正整数a1,a2,,,an,他想知道对于所有的i(1≤i≤n),是否存在两个正整数x和y满足x*x+y*y=ai。
输入格式
第一行包含一个正整数n,代表正整数数量。
之后n行,每行包含一个正整数,代表 ai。
输出格式
对于每个正整数ai,如果存在两个正整数x和y满足 x*x+y*y=ai,输出Yes,否则输出No。
样例1
输入
2
5
4输出
Yes
No样例解释
对于第一个正整数,存在1*1+2*2=5,因此答案为Yes。
数据范围
对于全部数据,保证有 1≤n≤10,1≤ai≤1000000。
参考答案
import math
def check(x):
if x<=0:
return False
y = int(math.sqrt(x))
if y*y==x:
return True
return False
t = int(input())
for ii in range(0,t):
n = int(input())
fl = 0
for i in range(1,n+1):
j = n-i*i
if check(j):
fl=1
break
if fl==1:
print("Yes")
else:
print("No")
上一题
下一题