第33066题 程序题
判断正整数是否可拆分为两个正整数的平方和

问题描述

小李看书的时候发现一种正整数,可以进行平方和拆分。假设正整数 $a$ 是这种数字,则一定存在 $a=x \times x+y \times y$,其中 $x$ 和 $y$ 都是正整数。例如 $5$ 可以拆分为 $1 \times 1+2 \times 2$。 现有 $n$ 个正整数,需要你帮助小李判断每个数是否可以进行平方和拆分。

输入描述

第一行包含一个正整数 $n$,代表正整数数量。 之后 $n$ 行,每行包含一个正整数,代表需要判断的数字 $a$。

输出描述

输出共 $n$ 行,对于每个正整数,如果存在两个正整数 $x$ 和 $y$ 满足 $a=x \times x+y \times y$,输出 Yes,否则输出 No

输入样例1

2
5
4

输出样例1

Yes
No

提示

对于第一个正整数,存在 $1\times 1+2 \times 2=5$,因此答案为 Yes。 对于全部数据,保证有 $1 \le n \le 10,1 \le a \le 10^6$。

程序运行统计
暂无判题统计