Pagini recente » Borderou de evaluare (job #962011) | Cod sursa (job #530756) | Cod sursa (job #2957362) | Cod sursa (job #1637452) | Cod sursa (job #894816)
Cod sursa(job #894816)
using namespace std;
#include <fstream>
ifstream f("fact.in");
ofstream g("fact.out");
int p;
int div5(int x)
{
int nr=0, y=5;
while(y<=x)
{
nr=nr+x/y;
y*=5;
}
return nr;
}
int search(int st, int dr)
{
long long mij,nr;
if(st>dr) return 0;
mij=(st+dr)/2;
nr=div5(mij);
if(nr==p)
return mij;
else
if(p<nr)
return search(st,mij-1);
else
return search(mij+1,dr);
}
int main()
{
int i,n;
f>>p;
if(p==0)
{ g<<1; return 0;}
else
{
n=search(1,2000000000);
if(n==0)
n=-1;
else
while(n%5!=0)
n--;
}
g<<n;
return 0;
}