Pagini recente » Cod sursa (job #194184) | Cod sursa (job #1626739) | Cod sursa (job #275978) | Cod sursa (job #682665) | Cod sursa (job #1953208)
#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) {fout<<y;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;
}