Cod sursa(job #2213308)

Utilizator ruxiTTutunaru Ruxandra ruxiT Data 16 iunie 2018 10:25:34
Problema Factorial Scor 85
Compilator c Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <stdio.h>
#include <stdlib.h>

int nrzero(int n) {
    int nr = 0;
    while (n >= 5) {
        nr += n / 5;
        n /= 5;
    }
    return nr;
}

int caut(int p) {
    int r = 0, pas = 1 << 28;
    while (pas != 0) {
        if (nrzero(r + pas) < p) {
            r += pas;
        }
        pas /= 2;
    }
    return r;
}

int main() {
    int n, p;
    FILE *fin, *fout;
    fin = fopen("fact.in", "r");
    fout = fopen("fact.out", "w");
    fscanf(fin, "%d", &p);
    n = caut(p);
    if (nrzero(n) < p) {
        fprintf(fout, "%d", n + 1);
    }
    else {
        fprintf(fout, "-1");
    }
    fclose(fin);
    fclose(fout);
    return 0;
}