Cod sursa(job #2576436)

Utilizator DunareanuDinu Dunareanu Dunareanu Data 6 martie 2020 19:26:12
Problema Factorial Scor 100
Compilator c-64 Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <stdio.h>
#include <stdlib.h>

FILE *fin , *fout;

int f(int n) {
    int p5=5,nr0=0;
    while(p5<=n) {
        nr0+=n/p5;
        p5*=5;
    }
    return nr0;
}

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

    int n,dr,st,mij,r;

    fscanf(fin,"%d",&n);
    st=1;
    dr=1000000000;
    r=-1;
    while(st<=dr) {
        mij=(st+dr)/2;
        if(f(mij)<n) {
            st=mij+1;
        }
        else {
            if(f(mij)==n) {
                r=mij;
            }
            dr=mij-1;
        }
    }
    fprintf(fout,"%d\n",r);

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