Pagini recente » Cod sursa (job #1512235) | Cod sursa (job #2263753) | Cod sursa (job #1983652) | Cod sursa (job #2447628) | Cod sursa (job #678652)
Cod sursa(job #678652)
#include <stdio.h>
FILE *f,*g;
long m,st,dr,n,p;
int ok;
long putere (long x,long y)
{
long t,s;
t=y;s=0;
while (x/t>0) {s=s+x/t;
t*=y;}
return s;
}
int main()
{f=fopen ("fact.in","r");
g=fopen ("fact.out","w");
fscanf (f,"%ld",&p);
ok=0;
st=1;
dr=100000000;
if (p==0) fprintf (g,"1");
else
while (st<=dr && ok==0)
{
m=(st+dr) /2 ;
if (putere(m,5)==p) {n=m;
ok=1;}
else if (putere(m,5)>p) dr=m-1;
else st=m+1;
}
n=n-n%5;
if (n==0 && p!=0) fprintf (g,"-1");
else if (n!=0) fprintf (g,"%ld",n);
return 0;
}