Pagini recente » Cod sursa (job #1866940) | Cod sursa (job #1657095) | Cod sursa (job #81649) | ACS PC Winter Long Challange 2017 - 2018 | Cod sursa (job #1890987)
#include <iostream>
#include <fstream>
using namespace std;
int x, nr0, p, st, mid, dr, i, nr2;
int main () {
ifstream fin("fact.in");
ofstream fout("fact.out");
fin >> p;
st = 1; dr = 1000;
//fout << st << " " << mid << " " << dr << "\n";
while (st <= dr)
{
mid = st + (dr-st)/2;
x = mid; nr0 = 0;
while (x >= 5)
{
nr0 += x/5;
x /= 5;
}
//fout << st << " " << mid << " " << dr << " " << nr0 << "\n";
if (nr0 >= p) dr = mid-1;
if (nr0 < p) st = mid+1;
}
x = mid; nr0 = 0;
while (x >= 5)
{
nr0 += x/5;
x /= 5;
}
x = mid+1;
while (x >= 5)
{
nr2 += x/5;
x /= 5;
}
if (nr0 == p) fout << mid << "\n";
if (nr0 != p && nr2 == p) fout << mid+1 << "\n";
if (nr0 != p && nr2 != p) fout << -1 << "\n";
}