Cod sursa(job #2315831)
Utilizator | Data | 10 ianuarie 2019 17:24:28 | |
---|---|---|---|
Problema | Factorial | Scor | 90 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.51 kb |
#include <cstdio>
int main (){
freopen ("fact.in","r",stdin);
freopen ("fact.out","w",stdout);
int p,l1,l2,m,nr,s,n;
scanf ("%d",&p);
l1=1;
l2=5*p;
while (l1<=l2){
m=(l1+l2)/2;
nr=5;
s=0;
while (nr<=m && s<=p){
s=s+m/nr;
nr*=5;
}
if (s>=p){
l2=m-1;
n=m;
}
else
l1=m+1;
}
if (p==0)
n=1;
printf ("%d",n);
return 0;
}