Pagini recente » Cod sursa (job #3159604) | Cod sursa (job #2353001) | Cod sursa (job #2363295) | Cod sursa (job #2354819) | Cod sursa (job #1526213)
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
long get (long b)
{
int x;
x = 5 * b;
for (int i = 25; i <= x; i += 25) {
int j = i;
while (j % 25 == 0) {
x -= 5;
j /= 5;
}
}
return x;
}
int mult (long b)
{
b = 5 * b;
int k = 1;
for (long i = 25; i <= b; i *= 5) {
if (i <= b && i * 5 > b)
return k;
k++;
}
}
int main ()
{
long p, m = 1;
ifstream f("fact.in");
ofstream g("fact.out");
while (f >> p) {
m = mult (p);
if (get (p) <= get (p - m))
g << -1 << endl;
else g << get (p) << endl;
}
f.close ();
g.close ();
return 0;
}