Pagini recente » Cod sursa (job #2976774) | Cod sursa (job #2956966) | Cod sursa (job #1775330) | Cod sursa (job #2362784) | Cod sursa (job #901097)
Cod sursa(job #901097)
#include<stdio.h>
FILE *f=fopen("factorial.in","r"), *g=fopen("factorial.out","w");
long int p, k1, k2, mij, zero;
long int putere5(long int nr){
long int nr5=0, imp;
imp=5;
while(imp<=nr){
nr5 += (nr/imp);
imp*=5;
}
return nr5;
}
int main(){
fscanf(f,"%ld",&p);
k1=1; k2=500000000; mij=(k1+k2)/2;
while(k1<=k2){
zero=putere5(mij);
if(p<zero){k2=mij-1;}
else if(p>zero){k1=mij+1;}
else{ k2=mij; if(k1==k2){fprintf(g,"%ld",k1); return 0;} }
mij=(k1+k2)/2;
}
fprintf(g,"-1");
return 0;
}