Cod sursa(job #2665485)

Utilizator Teodor94Teodor Plop Teodor94 Data 30 octombrie 2020 21:22:22
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.48 kb
#include <stdio.h>

int countZeros(int n) {
  int zeros = 0;
  while (n > 0)
    zeros += (n /= 5);
  return zeros;
}

int main() {
  FILE* fin = fopen("fact.in", "r");
  FILE* fout = fopen("fact.out", "w");

  int n, i, step;
  fscanf(fin, "%d", &n);

  for (i = 0, step = 1 << 30; step; step >>= 1)
    if (countZeros(i + step) < n)
      i += step;

  fprintf(fout, "%d\n", countZeros(i + 1) == n ? i + 1 : -1);

  fclose(fin);
  fclose(fout);
  return 0;
}