Pagini recente » Cod sursa (job #954116) | Cod sursa (job #2906116) | Cod sursa (job #345515) | Cod sursa (job #910773) | Cod sursa (job #901103)
Cod sursa(job #901103)
#include<stdio.h>
FILE *f=fopen("fact.in","r"), *g=fopen("fact.out","w");
long int p, k1, k2, mij, zero, ok=1;
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); ok=0; break;} }
mij=(k1+k2)/2;
}
if(ok==1){fprintf(g,"-1");}
return 0;
}