luolie0804 @ 2024-06-09 10:10:16
#include<bits/stdc++.h>
#define F(x,y,z,o) for(int o=x;o<=y;o+=z)
using namespace std;
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
int n;
cin>>n;
int a[10005];
F(1,n,1,i)
{
cin>>a[i];
}
int ans=0;
F(1,n-1,1,i)
{
F(i+1,n,1,j)
{
if(sqrt(a[i]+a[j])*sqrt(a[i]+a[j])==a[i]+a[j]) ans++;
}
}
cout<<ans;
return 0;
}
by WYZ20030051 @ 2024-06-09 10:33:39
@luolie0804 sqrt 的返回值是 double 类型,而 a[i]+a[j] 这一部分是 int 类型,你应该把符号类型统一一下
by luolie0804 @ 2024-06-09 20:00:03
@WYZ20030051 AC了,谢谢大佬!