Cod sursa(job #470055)

Utilizator Smaug-Andrei C. Smaug- Data 11 iulie 2010 00:47:55
Problema Factorial Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <cstdio>

long long int f(long long int n){

  long long int i, aux = 0;
  for(i = 5; i <= n; i *= 5)
    aux += n/i;

  return aux;
}

long long int bin(long long int left, long long int right, long long int key){

  long long int mid;
  
  while(left < right){
    mid = left+((right-left)>>1);
    if(f(mid) >= key)
      right = mid-1;
    else
      left  = mid+1;
  }
  mid = left+((right-left)>>1);

  if(f(mid) < key)
    mid++;
  if(f(mid) == key)
    return mid;
  return -1;

}

int main(){

  freopen("fact.in", "r", stdin);
  freopen("fact.out", "w", stdout);

  long long int N;

  scanf("%lld", &N);
  printf("%lld\n", bin(1, 1000000000, N));

  return 0;

}