首页 > 试题广场 >

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
头像 Ldh1315109
发表于 2025-11-07 16:36:10
def solve(testcase): n = II() m = int(sqrt(n)) while m * m > n: m -= 1 while (m + 1) * (m + 1) <= n: m += 展开全文
头像 自由的风0450
发表于 2025-11-14 20:18:39
#include <iostream> using namespace std; typedef long long ll; bool is(ll b){ ll l=1,r=1e9; while(l<=r){ ll mid=l+(r-l)/2; 展开全文
头像 Furina_love
发表于 2025-11-15 11:44:43
#include <bits/stdc++.h> #include <cmath> using namespace std; using ll = long long; const int OvO = 0; bool find(ll x) { ll l=0l,r=1 展开全文