Cod sursa(job #694560)

Utilizator alexmanya007Ion Ardelean Mirceanu alexmanya007 Data 27 februarie 2012 21:46:05
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.41 kb
#include<cstdio>
using namespace std;
int main()
{
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
long x,i,j,ok,Pr,p,k,m;
scanf("%ld",&p);
if(p==0){printf("1");return 0;}

i=0;j=p*5;ok=0;
while(i<=j&&ok==0)
{
m=(i+j)/2;
Pr=m;k=0;
while(Pr)
{
k=k+Pr/5;
Pr/=5;
}
if(k==p){x=m-m%5;ok=1;}
else if(k<p) i=m+1;
else j=m-1;
}
if(ok) printf("%ld",x);
else printf("-1");
return 0;

}