Pagini recente » Cod sursa (job #1197412) | Cod sursa (job #1926199) | Cod sursa (job #2919231) | Cod sursa (job #216161) | Cod sursa (job #1925721)
#include<cstdio>
int p(int x,int div){
int p=0;
while(x%div==0)
{
p++;
x/=div;
}
return p;
}
int main()
{
FILE*fin,*fout;
int ci,d,p2,p3,p5,i,nrd,j;
fin=fopen("pascal.in","r");
fscanf(fin,"%d%d",&i,&d);
ci=i;
nrd=0;
p2=p3=p5=0;
for(j=0; j<i/2-1+ci%2; j++){
p2+=p(i-j,2);
p2-=p(j+1,2);
if(d==2 && p2>=1)
nrd++;
if(d==4 && p2>=2)
nrd++;
p3+=p(i-j,3);
p3-=p(j+1,3);
if(d==3 && p3>=1)
nrd++;
if(d==6 && p2>=1&&p3>=1)
nrd++;
p5+=p(i-j,5);
p5-=p(j+1,5);
if(d==5 && p5>=1)
nrd++;
}
nrd*=2;
if(ci%2==0){
p2+=p(i-j,2);
p2-=p(j+1,2);
if(d==2 && p2>=1)
nrd++;
if(d==4 && p2>=2)
nrd++;
p3+=p(i-j,3);
p3-=p(j+1,3);
if(d==3 && p3>=1)
nrd++;
if(d==6 && p2>=1&&p3>=1)
nrd++;
p5+=p(i-j,5);
p5-=p(j+1,5);
if(d==5 && p5>=1)
nrd++;
}
fclose(fin);
fout=fopen("pascal.out","w");
fprintf(fout,"%d",nrd);
fclose(fout);
return 0;
}