Pagini recente » Cod sursa (job #438093) | Rating Oarecine (dummy) | Monitorul de evaluare | Cod sursa (job #1542768) | Cod sursa (job #1187158)
#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=(1LL<<30);
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);}}
}