Cod sursa(job #3322785)
| Utilizator | Data | 15 noiembrie 2025 17:57:25 | |
|---|---|---|---|
| Problema | Factorial | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.65 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
long long n, st, dr, mij, nr, x;
long long Zero(long long n)
{
long long s = 0, x = 5;
while (x <= n)
{
s += n / x;
x *= 5;
}
return s;
}
int main()
{
fin >> n;
st = 1; dr = 1LL * 5 * (n + 1);
nr = -1;
while (st <= dr)
{
mij = (st + dr) / 2;
x = Zero(mij);
if (x < n) st = mij + 1;
else if (x > n) dr = mij - 1;
else
{
nr = mij;
dr = mij - 1;
}
}
fout << nr << "\n";
return 0;
}
