Cod sursa(job #2665808)

Utilizator Remus.RughinisRemus Rughinis Remus.Rughinis Data 31 octombrie 2020 12:45:44
Problema Factorial Scor 15
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<<31;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;
}