Cod sursa(job #120064)

Utilizator taloibogdanTaloi Bogdan Cristian taloibogdan Data 4 ianuarie 2008 09:51:20
Problema Factorial Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.46 kb
#include<stdio.h>
long c(long a)
{long d,s;
 d=5;
 s=0;
 while(a/d>=1)
  {s+=a/d;
   d*=5;
  }
 return s;
}
int main()
{long n,st,dr,poz,m;
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
scanf("%ld",&n);
//if(n=0){printf("1");return 0;}
st=1;dr=2*n;poz=-1;
 while(st<=dr)
	 {m=(st+dr)/2;
	  if (c(m*5)==n) { poz=m; break; }
		  else if (n<c(m*5)) { dr=m-1; }
			      else st=m+1;
	 }
if (poz>0) poz*=5;
printf("%ld",poz);
return 0;
}