// 用非递归算法实现求N个数的最大公约数
//工作之余,随手编写的小程序,仅供参考
#include<iostream>
#include<ctime>
#include<cstdlib>
#include<iomanip>
const int N = 3;
using namespace std;
int common_divisor(int m,int n)
{
if(n == 0 || m == n)
return m;
if(m < n)
{
m ^= n;
n ^= m;
m ^= n;
}
while(n != 0)
{
int k = m % n;
m = n;
n = k;
}
return m;
}
int main()
{
int a[N];
int i;
srand(time(0));
for(i=0;i<N;++i)
{
a[i] = rand()%100;
cout<<setw(5)<<a[i];
}
cout<<endl;
int temp = 0;
for(i=0;i<N;++i)
{
temp = common_divisor(a[i],temp);
}
cout<<"The common divisor is : "<<temp<<endl;
system("pause");
return 0;
}