Cod sursa(job #607035)

Utilizator pllkAntti Laaksonen pllk Data 10 august 2011 17:09:37
Problema Factorial Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <stdio.h>

int maara(int n) {
    int s = 0, a;
    for (a = 5; a <= n; a *= 5) {
        s += n / a;
    }
    return s;
}

int haku(int a, int b, int t) {
    int k = (a+b)/2;
    int m = maara(k);
    if (a > b) return -1;
    if (m < t) return haku(k+1, b, t);
    if (m > t) return haku(a, k-1, t);
    while (maara(k) == t && k > 0) k--;
    return k+1;
}

int main(void) {
    FILE *tied;
    int p, n;
    tied = fopen("fact.in", "r");
    fscanf(tied, "%i", &p);
    fclose(tied);
    n = (p == 0) ? 1 : haku(1, 5*p, p);
    tied = fopen("fact.out", "w");
    fprintf(tied, "%i\n", n);
    fclose(tied);
    return 0;
}