1. 程式人生 > >2018校招 最小眾倍數

2018校招 最小眾倍數

#include
#include
using namespace std;
const long long INF = 1 << 2;
int gcd(int a,int b){
int min,max,r=-1;
if(a<=b){
min=a;
max=b;
}else{
min=b;
max=a;
}
while(max%min!=0){
r=max%min;
max=min;
min=r;
}
return a*b/min;
}
int main()
{

int *a=new int[5];
int min=1000000;
int a1,a2;
for(int i=0;i<5;i++){
    cin>>a[i];
}
int *b=new int[3];
for(int i=0;i<3;i++){
    for(int j=i+1;j<4;j++){
        for(int k=j+1;k<5;k++){
            b[0]=a[i];b[1]=a[j];b[2]=a[k];
            a1=gcd(a[i],a[j]);a2=gcd(a[j],a[k]);
            
            a1=gcd(a1,a2);
            if(a1<min){
               min=a1;
            }
        }
    }
}

cout<<min;
return 0;

}