Pagini recente » Cod sursa (job #105807) | Cod sursa (job #2720026) | Cod sursa (job #1181174) | Cod sursa (job #3243842) | Cod sursa (job #412892)
Cod sursa(job #412892)
#include <stdio.h>
long long int fact(long long int n,int p) {
long long int s=0;
while(n) n/=p,s+=n;
return s;
}
int main() {
long long int n,s,s2,pow2;
FILE* in=fopen("fact.in","r");
FILE* out=fopen("fact.out","w");
fscanf(in,"%lld",&n);
pow2=1;
while(pow2<=n) pow2<<=1;
pow2<<=3;
s=-1;
while(pow2) {
s2=s+pow2;
if(fact(s2,5)<n) s=s2;
pow2>>=1;
}
s++;
if(n==0) s=1;
if(fact(s,5)!=n) s=-1;
fprintf(out,"%lld\n",s);
fclose(in);
fclose(out);
return 0;
}