Pagini recente » Cod sursa (job #1945713) | Cod sursa (job #558637) | Cod sursa (job #1121586) | Cod sursa (job #1401202) | Cod sursa (job #780094)
Cod sursa(job #780094)
#include <stdio.h>
FILE *f=fopen("pascal.in","r");
FILE *g=fopen("pascal.out","w");
int r,d,j,k,nr,nr2,i,ci,fac[5000000],nr3;
int main(){
fac[0]=0;
fscanf(f,"%d%d",&r,&d);
k=0;
nr=0;
nr2=0;
nr3=0;
for(i=1;i<=r;i++){
ci=i;
nr=0;
if(d==2 || d==3 || d==5)
while(ci%d==0){ci=ci/d;nr++;} else
{
if(d==4) {
while(ci%2==0){ci=ci/2;nr++;}
nr=nr/2;
}
if(d==6){
while(ci%2==0){ci=ci/2;nr2++;}
while(ci%3==0){ci=ci/3;nr3++;}
while (nr2 && nr3) {nr++; nr2--;nr3--;}
}
}
fac[i]=fac[i-1]+nr;
}
for(j=0;j<=r;j++){
if(fac[r]>(fac[r-j]+fac[j])) k++;
}
fprintf(g,"%d",k);
fclose(g);
return 0;
}