第22956题 程序题
判断给定正整数是否可表示为两个正整数的平方和

题面描述

小杨有n个正整数$a_1,a_2,\dots,a_n$,他想知道对于所有的$i(1 \le i\le n)$,是否存在两个正整数$x$ 和$y$满足$x \times x + y \times y = a_i$。

输入格式

第一行包含一个正整数n,代表正整数数量。 之后n行,每行包含一个正整数,代表$a_i$。

输出格式

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

输入样例

2
5
4

输出样例

Yes
No

样例解释

对于第一个正整数,存在$1 \times 1 + 2 \times 2 = 5$,因此答案为 Yes。

数据范围

对于全部数据,保证有$1 \le n \le 10$,$1 \le a_i \le 10^6$。

编辑模式