Pagini recente » Cod sursa (job #2744912) | Monitorul de evaluare | Cod sursa (job #1796443) | Cod sursa (job #2100764) | Cod sursa (job #1119714)
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
int p, i=0, j=0, dr, st, m, s, d, produs;
int main()
{
f >> p;
st = 0; dr = 2000000000;
while (st + 1 < dr)
{
m = (dr + st)/2;
i = 0;
produs = 5;
while (m/produs > 0)
{
i = i + m/produs;
produs = produs*5;
}
if (i < p)
{
st = (dr + st)/2;
}
else dr = (dr + st)/2;
}
i = 0;
produs = 5;
while (st/produs > 0)
{
i = i + st/produs;
produs = produs*5;
}
produs = 5;
while (dr/produs > 0)
{
j = j + dr/produs;
produs = produs*5;
}
if (p == 0) g << 1;
else
if ((i == p) && (i != 0)) g << st;
else
if ((j == p) && (j != 0)) g << dr;
else g << -1;
}