Cod sursa(job #1448982)

Utilizator andrei_diaconu11Andrei C. Diaconu andrei_diaconu11 Data 8 iunie 2015 15:34:23
Problema Factorial Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 0.47 kb
#include <stdio.h>
#include <stdlib.h>

int zero(long long n){
  long long nr=0;
  while(n>=5){
    nr+=n/5;
    n/=5;
  }
  return nr;
}


int main()
{
  long long i, pas, p;
  FILE *fi=fopen("fact.in", "r"), *fo=fopen("fact.out", "w");
  fscanf(fi, "%lld", &p);
  pas=1<<30;
  i=0;
  while(pas!=0){
    if(zero(i+pas)<=p-1)
      i+=pas;
    pas/=2;
  }
  if(zero(i+1)==p)
    fprintf(fo, "%lld", i+1);
  else
    fprintf(fo, "-1");
  fclose(fi);
  fclose(fo);
  return 0;
}