欧几得里算法 求公约数

//输入输出练习三
#include<iostream>
using namespace std;
int Ojdlsf(int n,int m){//欧几得里算法 求公约数 
    if(n%m==0//直到可以整除就返回m 
        return m;
    
else
        
return Ojdlsf(m,(n%m));//如果nm除不尽,就再注 m 与 m和n余数的可尽的数 

}
int main(){
    
int n,t,q;
  
    
while(cin>>n){
        
/*
          int x,y,z;
        如果有xyz三个数,求三个的公约则 
        t=Ojdlsf(x,y);//用t 存 x,y的公约
        //再算t和z的公约即为所求 
        cout<< Ojdlsf(t,z)<<endl; 
        
        
*/
        cin
>>t;
        
for(int i=1;i<n;i++){
            cin
>>q;
            t
=Ojdlsf(t,q);//t总是上一次的数这新输入的数的公倍数 
        }
        cout
<<t<<endl;
    }
}
posted @ 2008-07-25 22:39  tiny羊  阅读(401)  评论(0)    收藏  举报