Cod sursa(job #1458520)
| Utilizator | Data | 7 iulie 2015 18:21:45 | |
|---|---|---|---|
| Problema | Factorial | Scor | 85 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.62 kb |
#include <fstream>
using namespace std;
ifstream in ("fact.in");
ofstream out ("fact.out");
long long p;
long long fact (int p)
{
long long nr_cinci=0;
for (int i=5;i<=p;i*=5)
{
nr_cinci+=p/i;
}
return nr_cinci;
}
int main()
{
in>>p;
long long l,g,m;
l=0;
g=5*p;
if(!p) {
out << "0";
return 0;
}
while (l<g)
{
m=(l+g)/2;
if (fact(m)>=p)
{
g=m;
}
else
{
l=m+1;
}
}
if (fact(l) == p)
out<<l;
else out<<g;
return 0;
}
