Cod sursa(job #119958)

Utilizator iepuras_binarAlexandru B. iepuras_binar Data 3 ianuarie 2008 18:20:18
Problema Factorial Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <stdio.h>


long long n;
long long nrz(long long n);
long long bincaut(long long a,long long b,long long p) {
     long  long mid;
     while (a<b) {
       mid= (a+b)/2;
        if (nrz(mid) >  p)
        b = mid + 1;
       else if (nrz(mid) < p)
          a = mid - 1;
       else
          return mid;        
  }  
  return -1;      
}
     
long long  nrz( long long  n)
{
    long long p = 0;
     while( n )
     {
            p += n/5;
            n /= 5;
     }
     return p;
}

int main() {
  freopen("fact.in","r",stdin);
  freopen("fact.out","w",stdout);
  scanf("%ld",&n);
  if (n==0)
  printf("%d",1);
   else
  printf("%ld",bincaut(0,1000000000000LL,n)-(bincaut(0,1000000000000LL,n)%5));
}