Pagini recente » Cod sursa (job #340328) | Cod sursa (job #3230088) | Cod sursa (job #2304191) | Cod sursa (job #1088315) | Cod sursa (job #60126)
Cod sursa(job #60126)
#include<fstream>
#include<math.h>
using namespace std;
int n,a,b,c,m[1000],z[1000],p,k,q=1,w=1;
int main()
{
ifstream fin("puteri.in");
ofstream fout("puteri.out");
int i,j,v,l,max1=0,max=0,e=1,ok=0,cont=0;
fin>>n;
for(i = 1; i <= n; i++)
{
fin>>a>>b>>c;
for(j= 1; j <= a; j++)
q*=2;
for(j = 1; j <= b; j++)
w*=3;
for(j = 1; j <= c; j++)
e*=5;
m[k++]=q*w*e;
q=1;e=1;w=1;
}
for(i = 0; i < k; i++)
{
for(j = i+1; j < k; j++)
{
q = m[i];
w = m[j];
for(v = 2; v <= q/2; v++)
if(q%v != 0)
cont = 1;
else
{
cont = 0;
break;
}
if(cont == 0)
{
for(e = 2; e <= q/2; e++)
while(q%e == 0)
{
z[e]++;
q/=e;
}
}
else
z[q]++;
for(v = 2; v <= q/2; v++)
if(w%v != 0)
cont = 1;
else
{
cont = 0;
break;
}
if(cont == 0)
{
for(e = 2; e <= w/2; e++)
while(w%e == 0)
{
z[e]++;
w/=e;
}
}
else
z[w]++;
if(q > w)
max1=q;
else
max1=w;
for(v = 1; v <= max1; v++)
if(z[v]>z[v+1])
max = z[v];
else
max = z[v+1];
for(v = 1; v <= max1; v++)
{
if(z[v] == max || z[v] == 0)
ok = 1;
else
{
ok = 0;
break;
}
}
if(ok == 1)
p++;
for(v = 1; v <= max1; v++)
z[v] = 0;
max1 = 0;
max = 0;
}
}
fout<<p/2;
fin.close();
fout.close();
return 0;
}