Cod sursa(job #679136)

Utilizator radu2004GOLD radu radu2004 Data 12 februarie 2012 20:03:24
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <stdio.h>

FILE *f,*g;
long p;
long   m,dr,st,n;
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=p*5+1;

 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;
}