题目网址 →添加括号III
这题用了极端法
也就是a1/a2/a3/…/an=(a1a3a4*…*an)/a2;
但是如果进行约分,
知道a2能被约分成1,
那么就是整数。
每次将a2=a2/gcd(a2,ai),i=(1,3,4,5…)
#include<bits/stdc++.h>
using namespace std;
int a[10001],t,n;
int main()
{
cin>>t;
for(int i=1;i<=t;i++)
{
cin>>n>>a[1]>>a[2];
a[2]/=__gcd(a[1],a[2]);
for(int i=3;i<=n;i++)
{
cin>>a[i];
a[2]/=__gcd(a[2],a[i]);
}
if(a[2]==1)
cout<<"Yes"<<endl;
else
cout<<"No"<<endl;
}
return 0;
}