Pagini recente » Cod sursa (job #3127021) | Cod sursa (job #1688251) | Cod sursa (job #2625607) | Cod sursa (job #2574318) | Cod sursa (job #995568)
Cod sursa(job #995568)
#include<fstream>
using namespace std;
ifstream in("aliens.in");
ofstream out("aliens.out");
struct frac{
int doi,trei,cinci;
} V[55];
int A[64][64][64];
int u(int x){return x+30;}
int n,a,b,maxx;
int power(int b,int e){
int p=1;
for(int i=1;i<=e;i++) p*=b;
return p;
}
int main(){
in>>n;
for(int i=1;i<=n;i++){
in>>a>>b;
while(a%2==0){V[i].doi++;a/=2;}
while(a%3==0){V[i].trei++;a/=3;}
while(a%5==0){V[i].cinci++;a/=5;}
while(b%2==0){V[i].doi--;b/=2;}
while(b%3==0){V[i].trei--;b/=3;}
while(b%5==0){V[i].cinci--;b/=5;}
}
for(int i=1;i<=n;i++){
for(int j2=-30;j2<=30;j2++){
for(int j3=-30;j3<=30;j3++){
for(int j5=-30;j5<=30;j5++){
if(A[u(j2)][u(j3)][u(j5)]==1)
A[u(j2+V[i].doi)][u(j3+V[i].trei)][u(j5+V[i].cinci)]=1;
}
}
}
A[u(V[i].doi)][u(V[i].trei)][u(V[i].cinci)]=1;
}
for(int j2=0;j2<=30;j2++){
for(int j3=0;j3<=30;j3++){
for(int j5=0;j5<=30;j5++){
if(A[u(j2)][u(j3)][u(j5)]==1){
int p=1;
p*=power(2,j2);
p*=power(3,j3);
p*=power(5,j5);
if(p>maxx) maxx=p;
}
}
}
}
out<<maxx;
return 0;
}