Cod sursa(job #3298996)

Utilizator rapidu36Victor Manz rapidu36 Data 3 iunie 2025 17:06:02
Problema Factorial Scor 100
Compilator c-64 Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <stdio.h>
#include <stdlib.h>
#define VMIN 1
#define VMAX 500000000

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

int main()
{
    FILE *in, *out;
    in = fopen("fact.in", "r");
    out = fopen("fact.out", "w");
    int p;
    fscanf(in, "%d", &p);
    int st = VMIN, dr = VMAX, rez = dr + 1;
    while (st <= dr)
    {
        int m = (st + dr) / 2;
        if (nr_zero(m) >= p)
        {
            rez = m;
            dr = m - 1;
        }
        else
        {
            st = m + 1;
        }
    }
    if (nr_zero(rez) != p)
    {
        rez = -1;
    }
    fprintf(out, "%d\n", rez);
    fclose(in);
    fclose(out);
    return 0;
}