Cod sursa(job #2218331)
| Utilizator | Data | 4 iulie 2018 11:53:37 | |
|---|---|---|---|
| Problema | Factorial | Scor | 90 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.64 kb |
#include <fstream>
using namespace std;
ifstream f ("fact.in");
ofstream g ("fact.out");
int p;
long long zero (long long val)
{
long long nr0 = 0, pp;
pp = 5;
while (val >= pp)
{
nr0 = nr0 + (val / pp);
pp = pp * 5;
}
return nr0;
}
long long cautbin (long long nr0)
{
long long step = 1, i;
while (step < 5 * p) step <<= 1;
for (i = 0; step; step >>= 1)
{
if (i + step <= 5 * p && zero(i + step) < p)
{
i += step;
}
}
return i+1;
}
int main()
{
f >> p;
g << cautbin(p) << '\n';
return 0;
}
