Cod sursa(job #2330494)
| Utilizator | Data | 28 ianuarie 2019 15:29:34 | |
|---|---|---|---|
| Problema | Factorial | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.46 kb |
#include <fstream>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
long long dr=9223372036854775800,st=1,N,m;
long long nrzero(long long n){long long p5=5, nr5=0;
while(p5<=n){nr5+=n/p5; p5*=5;}
return nr;
}
int main()
{
fin>>N;
while(st<=dr){ m=(st+dr)/2;
if(nrzero(m)<N)st=m+1;
else if(nrzero(m)>N)dr=m-1;}
if(nrzero(dr)==N)st=dr;
while(nrzero(st)==N && st>0)st--;
fout<<st+1;
return 0;
}
