这道题,转了一下弯,是a[1]一定是分子,a[2]一定是分母。
我们把剩下的都当作分子。a[1]、a[3]…a[n]不断的与a[2]求最大公约数,使a[2]==1,就能整除。
输出一定要看仔细
#include<bits/stdc++.h>
using namespace std;
const int maxn=1e4+10;
int a[maxn],t,n;
int gcd(int a,int b){
return b>0?gcd(b,a%b):a;
}
int main(){
scanf("%d",&t);
while(t--){
int s;
memset(a,0,sizeof(a));
scanf("%d",&n);
for(int i=1;i<=n;i++){
scanf("%d",&a[i]);
}
s=a[2];
s/=gcd(s,a[1]);
for(int i=3;i<=n;i++){
s/=gcd(s,a[i]);
}
if(s==1)cout<<"Yes"<<endl;
else cout<<"No"<<endl;
}
return 0;
}