Cod sursa(job #625846)

Utilizator GrimpowRadu Andrei Grimpow Data 25 octombrie 2011 18:18:55
Problema Pascal Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include<stdio.h>
#include<math.h>
long r,d,nr,i,a[6],n1,n2,n;




void asd()
{
    while(n1%2==0) {a[2]++;n1=n1/2;}
    while(n1%3==0) {a[3]++;n1=n1/3;}
    while(n1%5==0) {a[5]++;n1=n1/5;}
    while(n2%2==0) {a[2]--;n2=n2/2;}
    while(n2%3==0) {a[3]--;n2=n2/3;}
    while(n2%5==0) {a[5]--;n2=n2/5;}
}


int div()
{
    if(d==6) return a[2]>0&&a[3]>0;
    if(d==4) return a[2]>1;
    return a[d]>0;
    }





int main()
{
    FILE *f=fopen("pascal.in","rt");
    FILE *g=fopen("pascal.out","wt");
 fscanf(f,"%ld %ld",&n,&d);
 r=n;
 for(i=1;i<=r/2;i++,n--)
 {n1=n;
  n2=i;
  asd();
  if(div()) nr=nr+2;}
  if(div()&&r%2==0)nr--;
 fprintf(g,"%ld",nr);
 return 0;



 }