Cod sursa(job #708145)

Utilizator iugasilviuIuga Silviu iugasilviu Data 6 martie 2012 14:59:15
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.49 kb
#include <stdio.h>
long i,j,n,m,k,s,t,r,p;
FILE *f,*g;
long cauta(long x,long y)
{
long au;
m=((x+y)/2)*5;r=5;k=0;
while(m>=r){k+=m/r;r*=5;}
au=-1;
if(k<p){if(x!=m/5){
au=cauta(m/5,y);}}
if(k>p){if(m/5!=y){
au=cauta(x,m/5);}}
if(k==p){au=m;}
return au;
}
int main()
{
f=fopen("fact.in","r");
g=fopen("fact.out","w");
fscanf(f,"%ld",&p);
n=cauta(0,2000000000);
if(n==-1){fprintf(g,"-1");}
else{n=(n/5)*5;}
if(n==0){fprintf(g,"1");}
if(n>0){fprintf(g,"%ld",n);}
return 0;
}