Cod sursa(job #966472)

Utilizator bDannYdBurileanu Daniel bDannYd Data 25 iunie 2013 22:43:25
Problema Factorial Scor 0
Compilator c Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <stdio.h>
#include <stdlib.h>

long p, n;

void read() {
    FILE *fin;

    fin = fopen("fact.in","r");

    fscanf(fin, "%d", &p);

    fclose(fin);
}

int zero(int k) {
    int x = 5, c = 0;

    while (k / x > 0) {
        c += (k / x);
        x *= 5;
    }

    return c;
}

int search(int l,int r){
    int m, x = -1;

    while(l <= r){
        m = l + (r - l) / 2;
        if(p <= zero(m)){
            x = m;
            r = m-1;
        }else
            l = m + 1;
    }

    return x;
}

void write() {
    FILE *fout;

    fout = fopen("fact.out","w");

    fprintf(fout,"%d", n);

    fclose(fout);
}

int main()
{
    read();
    printf("%d", search(1, 1e9));
    return 0;
}