Pagini recente » Cod sursa (job #2772347) | Cod sursa (job #429901) | Cod sursa (job #1730297) | Cod sursa (job #1223781) | Cod sursa (job #1891286)
#include <fstream>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
int p;
int main()
{
int l = 1, nr0, nr1, nr2, mid, x, r = 1000000000, middle;
fin >> p;
while(l <= r)
{
middle = l + (r - l) / 2;
nr0 = 0;
x = middle;
while(x >= 5)
{
nr0 += x / 5;
x /= 5;
}
if(nr0 >= p)
{
r = middle - 1;
}
if(nr0 < p)
{
l = middle + 1;
}
}
x = middle;
nr0 = 0;
while(x >= 5)
{
nr0 += x / 5;
x /= 5;
}
x = middle + 1;
while(x >= 5)
{
nr2 += x / 5;
x /= 5;
}
x = middle - 1;
while(x >= 5)
{
nr1 += x / 5;
x /= 5;
}
if(nr1 != p && nr0 != p && nr2 != p)
{
mid = -1;
}
else if(mid == 1)
{
}
else if(nr1 == p)
{
middle--;
}
else if(nr2 == p && nr0 != p)
{
middle++;
}
fout << middle;
return 0;
}