Cod sursa(job #2665579)

Utilizator manthrilManthril manthril Data 31 octombrie 2020 07:13:51
Problema Factorial Scor 100
Compilator cpp-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<<30;step>0;step>>=1)
    if(nrzero(poz+step)<p)
      poz+=step;
 
  fout=fopen("fact.out","w");
  if(nrzero(poz+1)==p)
    fprintf(fout,"%lld\n",poz+1);
  else
    fprintf(fout,"-1\n");
  fclose(fout);
  return 0;
}