Pagini recente » Monitorul de evaluare | Cod sursa (job #2299528) | Cod sursa (job #2044285) | Cod sursa (job #1373168) | Cod sursa (job #1187147)
#include<fstream>
using namespace std;
long fact(long long N)
{
long long s=0,p=5;
while(N/p!=0)
{
s=s+N/p;
p=p*5;
}
return s;
}
int main()
{
fstream f,g;
f.open("fact.in",ios::in);
g.open("fact.out",ios::out);
long long N=400000015,p,l,r,m,rez;
int ok=0;
l=1;
r=N;
f>>p;
if(p==0)
g<<"1";
else{
while(r+1!=l && ok==0)
{
m=(r+l)/2;
rez=fact(m);
if(rez>p)
r=m;
if(rez<p)
l=m;
if(rez==p)
{
rez=m;
ok=1;
}
}
while(rez%5!=0)
rez--;
g<<rez;}
}