悬赏5RMB,四分求调
查看原帖
悬赏5RMB,四分求调
917683
rnf5114楼主2023/7/23 09:44
#include <iostream>
using namespace std;
long long t,n,a[500010],gcd[500010],p[500010],s=1; 
long long yin(int a,int b){
	if(b==0){
		return a;
	}
	return yin(b,a%b);
}
long long bei(int a,int b,int k){
	return a*b/k;
}
int main(){
	cin.tie(0);
	cout.tie(0);
	cin>>t;
	while(t--){
		s=1;
		long long sum=1;
		cin>>n;
		for(int i=1;i<=n;i++){
			cin>>a[i];
			sum*=a[i];
		}
		gcd[1]=a[1];
		p[1]=a[1];
		for(int i=2;i<=n;i++){
			s++;
			gcd[s]=yin(gcd[i-1],a[i]);
			p[s]=bei(p[s-1],a[i],yin(p[s-1],a[i]));
		}
		if(gcd[s]*p[s]==sum){
			cout<<"Yes"<<endl;
		}
		else{
			cout<<"No"<<endl;
		}
	}
}
2023/7/23 09:44
加载中...