首页 > 试题广场 >

A×A=B

[编程题]A×A=B
  • 热度指数:459 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
\hspace{15pt}对于给定的整数 b,请你判断它是否为一个完全平方数。换言之,判断是否存在这样的一个整数 a,使得 a \times a = b

输入描述:
\hspace{15pt}每个测试文件均包含多组测试数据。第一行输入一个整数 T\left(1\leq T\leq 10^5\right) 代表数据组数,每组测试数据描述如下:
\hspace{15pt}在一行上输入一个整数 b\left(1\leq b\leq 10^{18}\right) 代表给定的整数 b


输出描述:
\hspace{15pt}对于每一组测试数据,新起一行。如果存在这样的整数 a,输出 \texttt{YES};否则输出 \texttt{NO}
示例1

输入

4
1
4
12
24

输出

YES
YES
NO
NO
int main() {
    int t;
    cin >> t;
    while(t--) {
        long double x;
        cin >> x;
        cout <<((sqrt(x) == (int)sqrt(x)) ? "YES" : "NO") << "\n";
    }
}
发表于 2025-12-06 17:40:13 回复(0)