标签:
%O5)QO5945[FQQU2OGA.png)
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <algorithm>
#include <string.h>
using namespace std;
int main()
{
int t,i,c,j,n,x,max,k;
int a[100005];
scanf("%d",&t);
for(j=1;j<=t;j++)
{
scanf("%d",&n);
memset(a,0,sizeof(a));
scanf("%d",&x);
a[x]++;
max=x;
for(i=1;i<n;i++)
{
scanf("%d",&x);
a[x]++;
if(x>max)
max=x;
}
int bi=0;
for(i=max;i>0;i--)
{
for(k=1;k*i<=max;k++)
{
if(a[k*i])
{
bi+=a[k*i];
}
if(bi>1)
break;
}
if(bi>1)
break;
bi=0;
}
printf("Case #%d: %d\n",j,i);
}
return 0;
}
先求出最大值,再用最大值以此往下去试试否是至少两个数的约数,试的方法是向上筛除
标签:
原文地址:http://www.cnblogs.com/Qiao994255978/p/4438020.html