心如止水
Je n'ai pas le temps
posts - 400,comments - 130,trackbacks - 0
《算法艺术与信息学竞赛》上面的题目,分析不再赘述,以下是我的代码:
#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]==1break;
       }
       
if(a[2]==1) printf("YES\n");
       
else printf("NO\n");
    }
return 0;
}


posted on 2010-03-02 21:45 lee1r 阅读(304) 评论(0)  编辑 收藏 引用 所属分类: 题目分类:数学/数论

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理