Cod sursa(job #1928673)

Utilizator ciocirlanrCiocirlan Robert ciocirlanr Data 16 martie 2017 17:00:59
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <bits/stdc++.h>
#define MAX 1000000000
using namespace std;
ifstream f("fact.in");ofstream g("fact.out");
long long N,Right = MAX,Left,Sol = -1;

long long NrZero(long long N)
{
    long long S = 0, P = 5;
    while(P <= N)
    {
        S+=N/P;
        P*=5;
    }
    return S;
}
int main()
{
    f >> N;
    if(N == 0)
        g << 1;
    else

    {

    while(Left <= Right)
    {
        long long Mij = (Right+Left)/2;
        int Zero = NrZero(Mij);
        if(Zero == N)
        {
            Sol = Mij;
            Right = Mij - 1;

        }
        else if(Zero > N)
            Right = Mij - 1;
        else
            Left = Mij + 1;
    }

    g << Sol;

    }
    f.close();g.close();
    return 0;
}