Pagini recente » Cod sursa (job #411965) | Cod sursa (job #29016) | Cod sursa (job #1089651) | Cod sursa (job #2906269) | Cod sursa (job #1206026)
#include<stdio.h>
int fact[6];
char cateFact[5000001][6];
int getfact(int nr,int p){
int P=p,rez=0;
while(nr/P>0){
rez+=nr/P;
P*=p;
}
return rez;
}
int main(){
FILE *fin,*fout;
fin=fopen("pascal.in","r");
fout=fopen("pascal.out","w");
int r,d;
fscanf(fin,"%d%d",&r,&d);
int cont=0,nr=2,j,i;
int sol=0,ok,x2=getfact(r,2),x3=getfact(r,3),x4=getfact(r,4),x5=getfact(r,5);
for(i=0;i<=r/2;i++){
ok=1;
if(d==2)
if(x2-getfact(r-i,2)-getfact(i,2)<1)
ok=0;
if(d==3)
if(x3-getfact(r-i,3)-getfact(i,3)<1)
ok=0;
if(d==4)
if(x2-getfact(r-i,2)-getfact(i,2)<2)
ok=0;
if(d==5)
if(x5-getfact(r-i,5)-getfact(i,5)<1)
ok=0;
if(d==6)
if(x2-getfact(r-i,2)-getfact(i,2)<1&&x3-getfact(r-i,3)-getfact(i,3)<1)
ok=0;
if(ok)
sol++;
}
if(ok&&r%2==0)
sol--;
else
ok=0;
fprintf(fout,"%d",sol*2+ok);
return 0;
}