Pagini recente » Cod sursa (job #1989905) | Cod sursa (job #3154797) | Cod sursa (job #699791) | Cod sursa (job #1240257) | Cod sursa (job #785727)
Cod sursa(job #785727)
#include <fstream>
#include <cmath>
using namespace std;
long long zer(long long x)
{
long long nrd=0, i;
for(i=1; i<=14; i++)
{
nrd+=x/(long long)(round(pow((double)5, (double)i)));
}
return nrd;
}
long long cb(long long st, long long dr, int cautat)
{
if(st>dr)
return -1;
else
{
long long mij=(st+dr)/2;
if(zer(mij)==cautat) return mij;
else if(zer(mij)>cautat) return cb(st, mij-1, cautat);
else return cb(mij+1, dr, cautat);
}
}
int main()
{
long long n, x;
ifstream f("fact.in");
ofstream g("fact.out");
f>>n;
if(n==0)
g<<1;
else
{
x=cb(1, 100000000000LL, n);
if(x>0)
{
if(x%5!=0)
x-=x%5;
g<<x;
}
else
g<<x;
}
}