Cod sursa(job #2210307)

Utilizator mmocanuMocanu Mihai-Adrian mmocanu Data 6 iunie 2018 10:18:18
Problema Factorial Scor 25
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <stdio.h>

int main(){
    int p,st,dr,r,mij,nr,c;
    FILE *fin,*fout;

    fin=fopen("fact.in","r");
    fout=fopen("fact.out","w");
    fscanf(fin,"%d",&p);

    dr=p*5;
    st=0;
    r=-1;
    if(p==0){
      fprintf(fout,"1");
    }else{
      while(st<=dr){
        mij=(st+dr)/2;
        c=1;
        nr=0;
        while(c*5<=mij){
          c*=5;
          nr=nr+(mij/c);
        }
        if(nr>p){
          dr=mij-1;
        }else{
          if(nr==p){
            r=mij;
            st=dr+1;
          }else{
            st=mij+1;
          }
        }
      }
      fprintf(fout,"%d",r);
    }



    fclose(fin);
    fclose(fout);

    return 0;
}