Cod sursa(job #2625317)

Utilizator stefanst77Luca Stefan Ioan stefanst77 Data 5 iunie 2020 21:11:35
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <bits/stdc++.h>

using namespace std;

int k;

/// nr de zero cu care se termina n!
int NrZ(int n)
{
    int p, cnt = 0;
    for (p=5; p <= n; p *= 5)
        cnt += (n / p);
    return cnt;
}

int CautBin()
{
    int st, dr, sol, m, x;
    if (k == 0) return 1;
    st = 1; dr = 1000000000;
    sol = -1;
    while (st <= dr)
    {
        m=(dr-st)/2 + st;
        x = NrZ(m);
        if (x == k) { sol = m; dr = m - 1;}
        else if (x > k) dr = m - 1;
        else st = m + 1;
    }
    return sol;
}

int main()
{
    int x;
    ifstream fin("fact.in");
    ofstream fout("fact.out");
    fin >> k;
    x=CautBin();
    fout << x << "\n";
    fout.close();
    return 0;
}