Pagini recente » Cod sursa (job #1780433) | Cod sursa (job #333743) | Cod sursa (job #424924) | Cod sursa (job #2026374) | Cod sursa (job #2700542)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("fact.in");
ofstream out("fact.out");
int nrz(int nr){
int z = nr / 5;
int zeros = z;
while (z >= 5){
z = z / 5;
zeros += z;
}
return zeros;
}
int main(){
int p;
in >> p;
int nr = p;
int k = nrz(nr*5);
int diff = k - p;
int interval = nr;
if (p == 0) { out << 1; return 0;}
else
while (diff != 0)
{
k = nrz(nr*5);
if (k < p)
{
interval /= 2;
if (interval < 1) interval = 1;
nr = nr + interval;
}
else if (k > p)
{
interval /= 2;
if (interval < 1) interval = 1;
nr = nr - interval;
}
if (diff * (k - p) == -1)
{
//error
out << -1;
return 0;
}
diff = k - p;
}
out << nr*5;
}