求N个数最大公约数
今年人人网笔试题
要求:
求N个数的最大公约数
格式:
输入:
3
3 6 9
输出:
3
#include <iostream>
using namespace std;
int main()
{
int *a = new int;
int n=0,min=10000,count=0;
int temp;
cin>>n;//n代表求n个数的最大公约数
for(int i=0;i<n;i++)
{
cin>>a[i];
}
for(int j=0;j<n;j++)
{
//先找出输入数里边的最小数
if(min>a[j])
{
min=a[j];
}
}
//从最小数开始往下遍历,找出公约数,即为最大公约数
for (int k=min;k>0;k--)
{
for(int l=0;l<n;l++)
{
if(a[l]%k==0)
{
count++;
}
}
if(count==n)
{
temp = k;
break;
}
else
count = 0;
}
cout<<temp<<endl;
return 0;
}