Cod sursa(job #2072125)
| Utilizator | Data | 21 noiembrie 2017 14:10:01 | |
|---|---|---|---|
| Problema | Factorial | Scor | 60 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.61 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
int nrz(int x)
{
int e = 0, p = 5;
while(x >= p)
{
e += x / p;
p *= 5;
}
return e;
}
int cautbin(int a)
{
int p = 1, u = 100000000, poz = -1;
while(p <= u)
{
int m = (p + u) / 2;
int nt = nrz(m);
if(a == nt)
poz = m;
if(a <= nt)
u = m - 1;
else
p = m + 1;
}
return poz;
}
int main()
{
int P;
f >> P;
g << cautbin(P);
return 0;
}
