Cod sursa(job #2664955)

Utilizator Remus.RughinisRemus Rughinis Remus.Rughinis Data 29 octombrie 2020 19:53:09
Problema Factorial Scor 25
Compilator c-64 Status done
Runda Arhiva de probleme Marime 0.53 kb
#include <stdio.h>
#include <stdlib.h>

int nrzero(long long x){
  long long p;
  int s;
  s=0;
  for(p=5;p<=x;p*=5)
    s+=x/p;
  return s;
}
int main(){
  int p;
  long long step,poz;
  FILE *fin, *fout;
  fin=fopen("fact.in","r");
  fscanf(fin,"%d",&p);
  fclose(fin);

  poz=0;
  for(step=1<<20;step>0;step>>=1)
    if(nrzero(poz+step)<p)
      poz+=step;

  fout=fopen("fact.out","w");
  if(nrzero(poz+1)==p)
    fprintf(fout,"%d\n",poz+1);
  else
    fprintf(fout,"-1\n");
  fclose(fout);
  return 0;
}