Pagini recente » Cod sursa (job #2419575) | Cod sursa (job #296664) | Cod sursa (job #1579161) | Cod sursa (job #1968113) | Cod sursa (job #412891)
Cod sursa(job #412891)
#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(fact(s,5)!=n) s=-1;
fprintf(out,"%lld\n",s);
fclose(in);
fclose(out);
return 0;
}