Cod sursa(job #1966441)
| Utilizator | Data | 15 aprilie 2017 11:47:18 | |
|---|---|---|---|
| Problema | Factorial | Scor | 95 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.64 kb |
#include <fstream>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
long long nrZero;
long long verif(long long val)
{
long long aux=5, Sol=0;
while(val/aux)
{
Sol+=val/aux;
aux*=5;
}
return Sol;
}
int main()
{
fin>>nrZero;
long long st=0, dr=4000000000000000000, Sol=-1;
while(st<=dr)
{
long long mid=st+(dr-st)/2;
long long rez=verif(mid);
if(rez>=nrZero)
{
dr=mid-1;
if(rez==nrZero)
Sol=mid;
}
else
st=mid+1;
}
fout<<Sol;
}
