Cod sursa(job #1675933)
| Utilizator | Data | 5 aprilie 2016 17:23:43 | |
|---|---|---|---|
| Problema | Factorial | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.53 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
long n,p,head,tail,m;
int numar_zero(long long n)
{
long long p=5,nr=0;
while(p<=n)
{
nr+=(n/p);
p*=5;
}
return nr;
}
void solve()
{
f>>p; head=1; tail=p*5;
while(head<=tail)
{
m=(head+tail)/2;
if(numar_zero(m)>=p)tail=m-1;else head=m+1;
}
if(numar_zero(head)!=p)g<<-1; else g<<head;
}
int main()
{
solve();
return 0;
}
