Cod sursa(job #3301450)

Utilizator tavy_codingAlbuica Ioan Octavian tavy_coding Data 26 iunie 2025 16:08:32
Problema Factorial Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <stdio.h>

using namespace std;

int find_5pow(int n)
{
    int count = 0;
    while (n > 0) {
        count += n / 5;
        n /= 5;
    }
    return count;
}

int main()
{
    FILE *file_in = fopen("fact.in", "r");
    FILE *file_out = fopen("fact.out", "w");
    int p;
    fscanf(file_in, "%d", &p);
    if (p == 0) {
        fprintf(file_out, "1");
        return 0;
    }

    int l = 0, r = 5 * p, n = 0;
    while (l <= r) {
        int m = (l + r) / 2;
        int nr = find_5pow(m);

        if (nr == p) {
            n = m;
            r = m - 1;
        } else if (nr < p) {
            l = m + 1;
        } else if (nr > p) {
            r = m - 1;
        }
    }
    fprintf(file_out, "%d\n", n);
}