《算法艺术与信息学竞赛》上面的题目,分析不再赘述,以下是我的代码:
#include<stdio.h>
#define maxn 10007
long gcd(long a,long b)
{
for(long t=a%b;t;a=b,b=t,t=a%b); return b;
}
int main()
{
freopen("div.in","r",stdin);
freopen("div.out","w",stdout);
long test,n,a[maxn];
scanf("%ld",&test);
while(test--)
{
scanf("%ld",&n);
for(long i=1;i<=n;i++) scanf("%ld",&a[i]);
a[2]/=gcd(a[1],a[2]);
for(long i=3;i<=n;i++)
{
a[2]/=gcd(a[2],a[i]);
if(a[2]==1) break;
}
if(a[2]==1) printf("YES\n");
else printf("NO\n");
}
return 0;
}
posted on 2010-03-02 21:45
lee1r 阅读(310)
评论(0) 编辑 收藏 引用 所属分类:
题目分类:数学/数论