Pagini recente » Cod sursa (job #3230554) | Cod sursa (job #2029442) | Cod sursa (job #1337993) | Cod sursa (job #340577) | Cod sursa (job #1187161)
#include<fstream>
#include<cstdio>
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()
{
FILE *f=fopen("fact.in","r");
FILE *g=fopen("fact.out","w");
long long p,l,r,m,rez;
int ok=0;
l=1;
fscanf(f,"%lld",&p);
r=400000015;
if(p==0)
fprintf(g,"1");
else{
while(r+1!=l)
{
m=(r+l)/2;
rez=fact(m);
if(rez>p)
r=m-1;
if(rez<p)
l=m+1;
if(rez==p)
{
ok=1;
rez=m;
break;
}
}
if(ok==0)
fprintf(g,"-1");
else{
while(rez%5!=0)
rez--;
fprintf(g,"%lld",rez);}}
}