Cod sursa(job #179451)

Utilizator pandaemonAndrei Popescu pandaemon Data 15 aprilie 2008 22:22:17
Problema Pascal Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.89 kb
#include<stdio.h>
#include<iostream.h>
#define RMAX 5000001
		       /// f: R / (C*(R-C))
long r,aux,i,j,var,sol;
int d,fac1[RMAX],fac2[RMAX];

void putere_f(int &x, int d)
{
   while( i/d > 0 )
   {
     x += i/d;

     d *= d; }

}

main()
{freopen("pascal.in","r",stdin);
 freopen("pascal.out","w",stdout);

 scanf("%ld %d",&r,&d);

 if(d==4)    for(i=1;i<=r;i++)  putere_f(fac1[i], 2);


 if(d==6)  { for(i=1;i<=r;i++)  putere_f(fac1[i], 2);
	     for(i=1;i<=r;i++)  putere_f(fac2[i], 3); }

 if(d!=6 && d!=4)

	    for(i=1;i<=r;i++) putere_f(fac1[i], d);   


 for(i=0; i<=r; i++)
 {
   if(d==4)
   if( fac1[r] - fac1[r-i] - fac1[i] > 1 ) sol++;

   if(d==6)
   if(   fac1[r] - fac1[r-i] - fac1[i] > 0
      && fac2[r] - fac2[r-i] - fac2[i] > 0 ) sol++;

   if(d!=6 && d!=4)
   if( fac1[r] - fac1[r-i] - fac1[i] > 0 ) sol++;
 }


 printf("%ld\n",sol); return 0; }