Cod sursa(job #261069)

Utilizator Addy.Adrian Draghici Addy. Data 17 februarie 2009 20:54:24
Problema Factorial Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.5 kb
#include <stdio.h>

long long t,p,n,u,nr0,x,y,nc;

int main(){

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

  x=0;
  y=1<<63;

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

  while (x<=y) {
    n=x+(y-x)/2;
    t=5;
    nr0=0;
    while (t<=n) {
      nr0+=n/t;
      t*=5;
    }
    if (nr0>=p) {
      y=n-1;
      nc=n;
    }
    else
      x=n+1;
  }
  if (nc)
    fprintf(g,"%lld",nc);
  else
    fprintf(g,"-1");

  fclose(f);
  fclose(g);

  return 0;
}