Cod sursa(job #1468493)

Utilizator mirupetPetcan Miruna mirupet Data 6 august 2015 10:55:15
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include<cstdio>
using namespace std;

int P;
long long put, NR, ans = -1, div, st, dr;

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

    return nr;
}

int main()
    {
        freopen("fact.in","r",stdin);
        freopen("fact.out","w",stdout);

        scanf("%d", &P);

        st = 1;
        dr = 1000000000;

        while ( st <= dr)
        {
            div = (st + dr) / 2;

            NR = nr_zero(div);

            if (P > NR)
                st = div + 1;
            else
            {
                dr = div - 1;
                if (P == NR)
                    ans = div;
            }
        }
        printf("%lld", ans);
    }