Pagini recente » Cod sursa (job #2086738) | Cod sursa (job #2282983) | Cod sursa (job #1124029) | Cod sursa (job #1674134) | Cod sursa (job #716655)
Cod sursa(job #716655)
#include <stdio.h>
long k,p2,p3,p5,n,i,d,p;
FILE *f,*g;
int main()
{
k=0;
f=fopen("pascal.in","r");
g=fopen("pascal.out","w");
fscanf(f,"%ld%ld",&n,&d);
p2=0;p3=0;p5=0;
for(i=0;i<=n/2-1;i++){
p=2;
while((n-i>p)||(i+1>p)){p2+=(n-i)/p;p2-=(i+1)/p;p*=2;}
p=3;
while((n-i>p)||(i+1>p)){p3+=(n-i)/p;p3-=(i+1)/p;p*=3;}
p=5;
while((n-i>p)||(i+1>p)){p5+=(n-i)/p;p5-=(i+1)/p;p*=5;}
if(d==2){if(p2>0){k+=2;if((n/2)&&(i==n/2-1)){k--;}}}
if(d==3){if(p3>0){k+=2;if((n/2)&&(i==n/2-1)){k--;}}}
if(d==4){if(p2>1){k+=2;if((n/2)&&(i==n/2-1)){k--;}}}
if(d==5){if(p5>0){k+=2;if((n/2)&&(i==n/2-1)){k--;}}}
if(d==6){if((p2>0)&&(p3>0)){k+=2;if((n/2)&&(i=n/2)){k--;}}}
}
fprintf(g,"%lld",k);
return 0;
}