A. Easy Math
Time Limit: 2000msMemory Limit: 65536KB 64-bit integer IO format: %lld Java class name: Main
Submit Status
Given n integers a1,a2,…,an, check if the sum of their square root √a1+√a2+⋯+√an is a integer.
Input
The input consists of multiple tests. For each test:
The first line contains 1 integer n (1≤n≤105).
The second line contains n integers a1,a2,…,an (0≤ai≤109).
Output
For each test, write ‘‘Yes′′ if the sum is a integer, or ‘‘No′′ otherwise.
Sample Input
2
1 4
2
2 3
Sample Output
Yes
No
解析:只要有一个不是平方根,结果就不是整数
AC代码:
#include <bits/stdc++.h>
using namespace std;
int main(){
#ifdef sxk
freopen("in.txt", "r", stdin);
#endif // sxk
int n, x;
while(scanf("%d", &n) == 1){
int tg = 1;
for(int i=0; i<n; i++){
scanf("%d", &x);
if(tg && (int)sqrt(x)*(int)sqrt(x) != x) tg = 0;
}
puts(tg ? "Yes" : "No");
}
return 0;
}