Cod sursa(job #2465286)

Utilizator WilIiamperWilliam Damian Balint WilIiamper Data 29 septembrie 2019 19:02:06
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <fstream>

using namespace std;
long long inf = 10000000000;
long p;
ifstream f ("fact.in");
ofstream g ("fact.out");
int nrzero (long long n) {
    long long nrz = 0;
    while (n) {
        nrz += n/5;
        n/=5;
    }
    return nrz;
}
int cautbin(long long st, long long dr) {
    while (st < dr) {
        long long mid = st + (dr-st)/2;
        long long nrz = nrzero(mid);
        if (nrz > p)
            dr = mid;
        else if (nrz < p)
            st = mid+1;
        else if (nrz == p) {
            while (nrz == p) {
                mid -= 1;
                nrz = nrzero(mid);
            }
            g << mid+1;
            return 0;
        }
    }
    g << -1;
    return 0;
}
int main()
{
    f >> p;
    if (p == 0)
        g << 1;
    else
        cautbin(1,inf);
    return 0;
}