Pagini recente » Cod sursa (job #1972543) | Cod sursa (job #1887364) | Autentificare | Diferente pentru preoni-2007/runda-finala/poze/deschidere intre reviziile 5 si 4 | Cod sursa (job #2149121)
#include <fstream>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
nrz(int k)
{
int s = 0;
while(k > 4) {
k /= 5;
s += k;
}
return s;
}
int caut(int k)
{
int st, m, dr, ans;
bool found = false;
st = 4 * k;
dr = 5 * k;
while(st <= dr) {
m = (st + dr) >> 1;
int n = nrz(m);
if(n == k)
found = true;
if(n >= k) {
ans = m;
dr = m - 1;
}
else st = m + 1;
}
return (found) ? ans : -1;
}
int main()
{
int x, ans;
fin >> x;
ans = (x) ? caut(x) : 1;
fout << ans;
return 0;
}