Cod sursa(job #30648)

Utilizator razvi9Jurca Razvan razvi9 Data 14 martie 2007 20:02:17
Problema Pascal Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include<stdio.h>
#include<math.h>
long r,d,nr,i,c[6],n1,n2,n;
void nc()
{while(n1%2==0) {c[2]++;n1=n1/2;}
 while(n1%3==0) {c[2]++;n1=n1/3;}
 while(n1%5==0) {c[5]++;n1=n1/5;}
 while(n2%2==0) {c[2]--;n2=n2/2;}
 while(n2%3==0) {c[2]--;n2=n2/3;}
 while(n2%5==0) {c[5]--;n2=n2/5;}}
int div()
{if(d==6) return c[2]&&c[3];
 if(d==4) return c[2]>1;
 return c[d];}
int main()
{freopen("pascal.in","r",stdin);
 freopen("pascal.out","w",stdout);
 scanf("%ld %ld",&r,&d);
 n=r;
 for(i=1;i<=r/2;i++,n--)
 {n1=n;
  n2=i;nc();
  if(div()) nr=nr+2;}
  if(div()&&r%2==0)nr--;
 printf("%ld",nr);
 fclose(stdout);
 return 0;}