Pagini recente » Cod sursa (job #3244278) | Cod sursa (job #1280098) | Cod sursa (job #3226735) | Cod sursa (job #696849) | Cod sursa (job #714913)
Cod sursa(job #714913)
#include <stdio.h>
FILE *f,*g;
long n,exp,i,j,p,tot,r,d,tot2,tot3,tot5,tot2f,tot3f,tot5f;
int main()
{
f=fopen("pascal.in","r");
g=fopen("pascal.out","w");
fscanf(f,"%ld%ld",&n,&d);
p=2;tot2f=0;
while(n/p){
tot2f+=n/p;
p*=2;
}
p=3;tot3f=0;
while(n/p){
tot3f+=n/p;
p*=3;
}
p=5;tot5f=0;
while(n/p){
tot5f+=n/p;
p*=5;
}
for(i=0;i<=n/2;i++){
j=n-i;
p=2;tot2=tot2f;
while(j/p){
tot2=tot2-(i/p)-(j/p);
p*=2;
}
p=3;tot3=tot3f;
while(j/p){
tot3=tot3-(i/p)-(j/p);
p*=3;
}
p=5;tot5=tot5f;
while(j/p){
tot5=tot5-(i/p)-(j/p);
p*=5;
}
if(d==2){
if(tot2>0){r+=2;if(i==j){r--;}}
}
if(d==3){
if(tot3>0){r+=2;if(i==j){r--;}}
}
if(d==4){
if(tot2>1){r+=2;if(i==j){r--;}}
}
if(d==5){
if(tot5>0){r+=2;if(i==j){r--;}}
}
if(d==6){
if((tot2>0)&&(tot3>0)){r+=2;if(i==j){r--;}}
}
}
fprintf(g,"%ld",r);
fclose(f);fclose(g);
return 0;
}