Cod sursa(job #183556)

Utilizator jeanFMI - Petcu Ion Cristian jean Data 22 aprilie 2008 12:55:43
Problema Pascal Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include<fstream.h>
int fac[5],q,d,i,j,n,aux,p,sol=0,k;
struct sir {int x,y;};
sir v[5000010];
int main()
{
ifstream f("pascal.in");
ofstream g("pascal.out");

f>>n>>q;

d=2;
while(q!=1)

  { if(q%d==0)

    while(q%d==0)

    {fac[++k]=d; q/=d;}

    d++;

  }

for(i=1;i<=n;i++)


  {

      aux=i; p=0;


	   if(aux%fac[1]==0)

	      while(aux%fac[1]==0)

	       {p++; aux/=fac[1];}

       v[i].x=v[i-1].x+p;


     aux=i; p=0;

     if(k==2)

      {if(aux%fac[2]==0)

	      while(aux%fac[2]==0)

	       {p++; aux/=fac[2];}

       v[i].y=v[i-1].y+p;
     }
   }

if(k==2)

 for(i=1;i<=n;i++)

  { if(v[n].x-v[i].x-v[n-i].x>0&&v[n].y-v[i].y-v[n-i].y>0) sol++;}

else

 for(i=1;i<=n;i++)

  { if(v[n].x-v[i].x-v[n-i].x>0) sol++;}



g<<sol;
f.close();
g.close();
return 0;
}