Pagini recente » Cod sursa (job #179598) | Cod sursa (job #2612226) | Cod sursa (job #1247571) | Cod sursa (job #996785) | Cod sursa (job #1953216)
#include <iostream>
#include <fstream>
using namespace std;
long long p;
long long x,y,m,c;
long long cifre(long long n)
{
long long nrc=0,i=5;
while(i<=n)
{
nrc+=n/i;
i*=5;
}
return nrc;
}
int main()
{
ifstream fin("fact.in");
ofstream fout("fact.out");
fin>>p;
if(p==0) {fout<<1<<'\n';return 0;}
y=1;
while(cifre(y)<p)
{
x=y;
y*=2;
}
c=cifre(y);
if(c==p)
{
while(cifre(y-1)==p) y--;
fout<<y<<'\n';
return 0;
}
else
while(x<=y)
{
m=(x+y)/2;
c=cifre(m);
if(c<p) x=m+1;
else if(c>p) y=m-1;
else if(c==p)
{
while(cifre(m-1)==p) m--;
fout<<m<<'\n';
return 0;
}
}
fout<<-1<<'\n';
return 0;
}