一个长度为 n 的数列 A,求数列中有多少对数对 <i,j>,使得 Ai+Aj 是完全平方数。
1≤n≤103,1≤Ai≤105。
考场代码(10 个点 A 了一个):
#include <bits/stdc++.h>
using namespace std;
int main(){
int n,cnt=0;
cin >> n;
int a[n+1];
for(int i=1;i<=n;i++){
cin >> a[i];
for(int j=1;j<=i;j++){
if((sqrt(a[i]+a[j]))==(int)(sqrt(a[i]+a[j])))
cnt++;
}
}
cout << cnt;
return 0;
}