Pagini recente » Cod sursa (job #361308) | Cod sursa (job #1733719) | Cod sursa (job #2665024) | Cod sursa (job #661620) | Cod sursa (job #25724)
Cod sursa(job #25724)
#include <fstream.h>
ifstream f("puteri.in");
ofstream g("puteri.out");
int nr[10001];
int d,m,diviz[1001],mult[1001];
int pow(int x,int y)
{
long int i,p=1;
for(i=0;i<y;i++)
p*=x;
return p;
}
int vp(int n)
{int x=0,j=0,nx=1,put,ok=0;
for(d=2;n>1;d++)
{ for(m=0; n%d==0; m++, n/=d);
if(m)
{ x++; diviz[j]=d; mult[j]=m; j++; }
}
if(j==1) return 1;
else
for(d=0;d<j-1;d++)
if(mult[d]==mult[d+1]) ok=1;
if(ok)
return 1;
else return 0;
}
long int fn(int x,int y,int z)
{
int m;
if(x==0&&y==0&&z==0) m=0;
else if(x!=0&&y==0&&z==0) m=pow(2,x);
else if(x==0&&y!=0&&z==0) m=pow(3,y);
else if(x==0&&y==0&&z!=0) m=pow(5,z);
else if(x!=0&&y!=0&&z==0) m=pow(2,x)*pow(3,y);
else if(x!=0&&y==0&&z!=0) m=pow(2,x)*pow(5,z);
else if(x==0&&y!=0&&z!=0) m=pow(3,y)*pow(5,z);
else if(x!=0&&y!=0&&z!=0) m=pow(2,x)*pow(3,y)*pow(5,z);
return m;
}
int main()
{
int n,i,j,w,a,b,c,x=0,y,z;
f>>n;
for(i=1;i<n;i++)
{ f>>a>>b>>c;
nr[i]=fn(a,b,c);
}
f>>a>>b>>c;
w=fn(a,b,c);
for(i=1;i<n;i++) if(vp(nr[i]*w)) x++;
g<<x;
return 0;
}