这道题目如果你把题意弄清楚了就好简单了,题意就是:给出一系列数,然后看这些数能否把最小的数进行整除,全部可以整除就输出这个最小的数,否则就输出-1!是不是很简单啊!
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
const int maxn=100005;
int a[maxn];
int main()
{
int n,i,flag,j;
while(scanf("%d",&n)!=EOF)
{
flag=0;
for(i=0; i<n; i++)
scanf("%d",&a[i]);
sort(a,a+n);
for(i=0; i<n; i++)
{
if(a[i]%a[0]!=0)
{
flag=1;
break;
}
}
if(flag==1)printf("-1\n");
else printf("%d\n",a[0]);
}
return 0;
}