Cod sursa(job #279705)

Utilizator Addy.Adrian Draghici Addy. Data 12 martie 2009 22:20:51
Problema Factorial Scor 25
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <stdio.h>

long long n,x,u,p,nr0,sol;

  FILE *f = fopen("fact.in", "r");
  FILE *g = fopen("fact.out", "w");

void solve(int n) {
  nr0 = 0;
  int t = 5;
  while (t<=n) {
    nr0 += n/t;
    t *= 5;
  }
}

int main(){

  fscanf(f,"%lld",&x);

  p = 1;
  u = 4000;

  while (p<=u) {

    n = p + (u-p)/2;

    solve(n);
    if (nr0==x)
      sol = n;
    if (nr0 >= x)
      u = n-1;
    else
      p = n+1;
  }
  if (!x)
    fprintf(g,"1");
  else
    if (sol)
      fprintf(g,"%lld",sol);
    else
      fprintf(g,"-1");

  fclose(f);
  fclose(g);

  return 0;
}