Cod sursa(job #121386)

Utilizator GheorgheMihaiMihai Gheorghe GheorgheMihai Data 8 ianuarie 2008 16:49:27
Problema Factorial Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include<stdio.h>
long p,st,dr,nr;
long mul(long m)
{
long putere;
nr=0;
putere=5;
while(m/putere)
  {
  nr=nr+m/putere;
  putere=putere*5;
  }
return nr;
}

long bi(long st, long dr)
{
long m;
m=(st+dr)>>1;
nr=mul(m);
if(nr==p)
  {
  m=m-m%5;
  return m;
  }
if(nr>p)
  return bi(st,m-1);
return bi(m+1,dr);
}

int main()
{
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
scanf("%ld",&p);
if(p==0)
  {
  printf("1");
  return 0;
  }
//st=p*4;
//dr=5*p;
printf("%ld",bi(p*4,p*5));
return 0;
}