Pagini recente » Cod sursa (job #618545) | Cod sursa (job #644944) | Cod sursa (job #2938239) | Cod sursa (job #457831) | Cod sursa (job #502964)
Cod sursa(job #502964)
#include <fstream>
#define nmax 1000000000
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
int p; long long answer;
int nr_zero(int x)
{
int s=0;
while(x)
{
s+=x/5;
x/=5;
}
return s;
}
int caut_binar()
{
long long left=0, right=nmax, m;
int ok=-1;
while(left<right)
{
m=(left+right)/2;
if(nr_zero(m)==p) ok=1;
if(nr_zero(m)<p)
left=m+1;
else
right=m;
}
//if(nr_zero(m)!=p)
//return -1;
if(nr_zero(m)==p) ok=1;
m=(left+right)/2;
if(nr_zero(m)==p) ok=1;
if(nr_zero(m)<p)
++m;
if(ok!=-1) return m;
return -1;
}
int main()
{
f>>p;
answer=caut_binar();
g<<answer;
return 0;
}