future666 @ 2024-07-17 15:19:38
#include <bits/stdc++.h>
using namespace std;
int main(){
int n,a[1010],ans,h;
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i];
for(int i=1;i<=n;i++){
for(int j=n;j>i;j--){
h=a[i]+a[j];
if(sqrt(h)*sqrt(h)==h){
ans++;
}
}
}
cout<<ans;
return 0;
}
#include <bits/stdc++.h>
using namespace std;
int main(){
int n,a[1010],ans,h;
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i];
for(int i=1;i<=n;i++){
for(int j=n;j>i;j--){
h=a[i]+a[j];
if((int)sqrt(h)*(int)sqrt(h)==h){
ans++;
}
}
}
cout<<ans;
return 0;
}
by future666 @ 2024-07-17 15:22:08
第一个开O2优化0分,不开50分; 第二个AC。 你猜为啥?
sqrt 的返回值是 double 类型,而 a[i]+a[j] 这一部分是 int 类型!坑死我了。。。。。。我也是小菜,开评论区明白的。 6.15做到7.17......
by wzy20110830 @ 2024-07-23 16:38:46
同错,感谢
by huangzhangxuan2011 @ 2024-07-26 16:54:56
+1
by EXR_FAL @ 2024-08-14 20:28:33
+1+1+1(调了3次全50分。。)