Pagini recente » Cod sursa (job #14712) | Cod sursa (job #2878485) | Cod sursa (job #1685617) | Cod sursa (job #715909) | Cod sursa (job #109452)
Cod sursa(job #109452)
#include <stdio.h>
#include <math.h>
FILE *in = fopen("aliens.in","r");
FILE *out = fopen("aliens.out","w");
int v[51][4],n,max=0;
void serci(int p)
{
int i=0,x,nc[4]={0,0,0,0};
while (p)
{
if (p & 1)
{
nc[0]+=v[i][0];
nc[1]+=v[i][1];
nc[2]+=v[i][2];
}
i++;
p/=2;
}
if (nc[0]>=0 && nc[1]>=0 && nc[2]>=0)
{
x=pow(2,nc[0])*pow(3,nc[1])*pow(5,nc[2]);
if (x>max)
max=x;
}
}
int main()
{
int i,x,y,wtf;
fscanf(in,"%d",&n);
for (i=0; i<n; i++)
{
fscanf(in,"%d%d",&x,&y);
while (x%2==0)
{
v[i][0]++;
x/=2;
}
while (y%2==0)
{
v[i][0]--;
y/=2;
}
while (x%3==0)
{
v[i][1]++;
x/=3;
}
while (y%3==0)
{
v[i][1]--;
y/=3;
}
while (x%5==0)
{
v[i][2]++;
x/=5;
}
while (y%5==0)
{
v[i][2]--;
y/=5;
}
}
wtf=pow(2,n);
for (i=1; i<wtf; i++)
serci(i);
fprintf(out,"%d\n",max);
fclose(in);
fclose(out);
return 0;
}