Cod sursa(job #2847103)
Utilizator | Data | 10 februarie 2022 11:17:17 | |
---|---|---|---|
Problema | Factorial | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.5 kb |
#include <fstream>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
int main()
{
int n, m = 0;
int before = 0, sum = 0, c;
fin >> n;
if(n == 0)
fout << 1;
while(m <= n)
{
before = m;
m++;
m *= 5;
}
c = before;
m = before;
while(m != 0)
{
while(c <= n)
{
before = c;
sum += m / 5;
c += m + 1;
}
m = m / 5 - 1;
c = before + m + 1;
}
if(before == n)
fout << -1;
else
fout << (n - sum) * 5;
return 0;
}