Cod sursa(job #115884)

Utilizator marinMari n marin Data 17 decembrie 2007 12:40:52
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <stdio.h>

long int p;


long int nrZero(long int n){
  long int x = 0, cinci = 5,t;
  while (t=n/cinci) {
    x = x + t;
    cinci = cinci*5;
  }
  return x;
}

long int prim, ultim, m;


int main(){
  FILE *f=fopen("fact.in","r");
  fscanf(f,"%ld",&p);
  fclose(f);

  prim=1;
  ultim=1ul<<32-2;
  while (prim<=ultim) {
    m = (prim+ultim)/2;
    if (nrZero(m)<p) prim = m+1;
    else ultim = m-1;
  }

//  printf("\n%ld", prim);
  FILE *g=fopen("fact.out","w");

  if (nrZero(prim)==p)
    fprintf(g,"%ld",prim);
  else
    fprintf(g,"%ld",-1);

  return 0;
}