Cod sursa(job #1769232)

Utilizator mihai.alphamihai craciun mihai.alpha Data 2 octombrie 2016 11:24:39
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <stdio.h>

int exponent(int nr)  {
    int x=5,k=0;
    while(nr/x!=0)  {
        k += nr/x;
        x *= 5;
    }
    return k;
}
int main()  {
    FILE *fin = fopen("fact.in", "r");
    FILE *fout = fopen("fact.out", "w");
    int p, i = 1, j=500000000,st = 0,x,k=0;
    fscanf(fin, "%d", &p);
    if(p==0)  {
    fprintf(fout, "1");
    k=1;
    }
    else  {
    while(i<=j&&!st)  {
        int m=(i+j)/2;
        if(exponent(m)==p)
        st = 1,
        x=m;
            else if(exponent(m)>p)
                j=m-1;
                    else i=m+1;

    }
    }
    if(st==1)
        fprintf(fout, "%d", x/5 * 5);
         else if(k!=1)
         fprintf(fout, "-1");
    fclose(fin);
    fclose(fout);
    return 0;
}