Cod sursa(job #19743)

Utilizator marcelcodreaCodrea Marcel marcelcodrea Data 19 februarie 2007 21:54:48
Problema Pascal Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.21 kb
#include<stdio.h>
long n,m,p,i,s,j,k,aux2,aux3;
int afisare()
{
 printf("%ld \n",k);
 return 0;
}
int caz2()
{
 long aux2,var2,aux,s1=0;
  for(j=0;j<n;j++)
  {
  aux=n-j;
  aux2=j+1;
  var2=aux;
  while(aux%2==0)
      {
      aux/=2;
      s++;
      }
 aux=var2;
  while(aux%3==0)
      {
      aux/=3;
      s1++;
      }
 var2=aux2;
 while(aux2%2==0)
    {
     aux2/=2;
     s--;
    }
 aux2=var2;
  while(aux2%3==0)
    {
     aux2/=3;
     s1--;
    }
  if ((s>0)&&(s1>0)) k++;
  }

 return 0;
}
int caz3()
{
 long aux;
  for(j=0;j<n;j++)
  {
  aux=n-j;
  aux2=j+1;
  while(aux%2==0)
      {
      aux/=2;
      s++;
      }
 while(aux2%2==0)
    {
     aux2/=2;
     s--;
    }
  if (s>1) k++;
  }
 return 0;
}
int caz1()
{
 long i=0,u,aux;
 for(j=0;j<n;j++)
  {
  aux=n-j;
  aux2=j+1;
  while(aux%m==0)
      {
      aux/=m;
      s++;
      }
 while(aux2%m==0)
    {
     aux2/=m;
     s--;
    }
  if (s>0) k++;
  }
  return 0;
}
int main()
{
 freopen("pascal.in","r",stdin);
 freopen("pascal.out","w",stdout);
 scanf("%ld %ld",&n,&m);
 if ((m==2)||(m==3)||(m==5)) caz1();
 if (m==6) caz2();
 if (m==4) caz3();
 afisare();
 return 0;
}