4656: 【GESP2412二级】寻找数字
内存限制:64 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:8
解决:3
题目描述
小杨有一个正整数 ,小杨想知道是否存在一个正整数 满足 。
输入
第一行包含一个正整数$t$ ,代表测试数据组数。
对于每组测试数据,第一行包含一个正整数代表$a$ 。
对于每组测试数据,第一行包含一个正整数代表$a$ 。
输出
对于每组测试数据,如果存在满足条件的正整数$b$ ,则输出$b$ ,否则输出$-1$ 。
样例输入 复制
3
16
81
10
样例输出 复制
2
3
-1
提示
#include <iostream>
#include <cmath>
using namespace std;
int main() {
int t;
cin >> t;
while (t--) {
int a;
scanf("%d",&a);
int b = (int)(sqrt(sqrt(a)));
if (b * b * b * b == a) {
printf("%d\n",b);
} else {
printf("-1\n",b);
}
}
return 0;
}