50分求调(有注释)
查看原帖
50分求调(有注释)
1545314
Westbrook_楼主2025/1/5 12:29
#include<bits/stdc++.h>
using namespace std;
const int N=1e6+10;
long long a[N];
bool isping(long long aa,long long bb){//判断组合是否为平方数的函数,aa和bb都是形式参数 
	for(long long i=1;i*i<=aa+bb;i++){//i*i<=aa+bb  这句话跟普通质数筛模板优化思路一样 
		if((aa+bb)==i*i){//如果枚举到那就返回true
			return true;
		}
	}
	return false;//实在没有就返回false 
}
int main(){
	long long n,cnt=0;
	cin>>n;
	for(long long i=1;i<=n;i++){//读入数组 
		cin>>a[i];
	}
	for(long long i=1;i<=n;i++){
		for(long long j=i+1;j<=n;j++){//全部枚举 
			if(isping(a[i],a[j])){//如果组合是就cnt++ 
				cnt++;
			}
		}
	}
	cout<<cnt;
}
2025/1/5 12:29
加载中...