Cod sursa(job #626532)

Utilizator andrei.mihut95Andre Mihut andrei.mihut95 Data 27 octombrie 2011 15:24:21
Problema Pascal Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 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;
}