为啥只对了1个点

B3957 [GESP202403 三级] 完全平方数

Gavinzhou @ 2024-05-06 13:00:27

#include <iostream>
#include<cmath>
#include<algorithm>
using namespace std;
int cnt=0;
int main(){
    int n;
    cin>>n;
    int a[10000];
    for(int i=1;i<=n;i++){
        cin>>a[i];
    }
    for(int i= 1;i<=n;i++){
        for(int j=1+i;j<=n;j++){
            if (pow(sqrt(a[i]+a[j]),2)==a[i]+a[j])
                cnt++;
        }
    }
    cout<<cnt;
    return 0;
}

by _th_tw_on_ @ 2024-05-06 13:06:14

第15行改成: if(pow(int(sqrt(a[i]+a[j])),2)==a[i]+a[j])


by Gavinzhou @ 2024-05-08 12:12:51

@_th_twon 多谢,知道了

封楼


by xiayihe000 @ 2024-06-10 12:33:59

@Gavinzhou


#include <bits/stdc++.h>

using namespace std;

const long MAXN = 1010;

int arr[MAXN], n;

int main()
{
    cin >> n;

    for(int i = 0;i < n;i++)
    {
        cin >> arr[i];
    }

    int ans = 0;

    for(int i = 0;i < n;i++)
    {
        for(int j = i + 1;j < n;j++)
        {
            int m = arr[i] + arr[j];
            int t = sqrt(m + 1e-7);

            if(t * t == m)
            {
                ans++;
            }
        }
    }
    cout << ans << endl;
    return 0;
}

|