Cod sursa(job #1771243)

Utilizator OFY4Ahmed Hamza Aydin OFY4 Data 5 octombrie 2016 13:41:07
Problema Factorial Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <fstream>

#define ll long long

using namespace std;

ifstream in ("fact.in");
ofstream out("fact.out");

ll n, p;

ll zerouri(ll x)
{
    ll s = 0, k = 5;

    while(k <= x)
    {
        ll a = x / k;
        s+= a;
        k*= 5;
    }
    return s;
}

ll cautbin(ll val)
{
    ll start = 1, step = (1 << 30);

    for(; step; step>>=1)
    {
        ll index = start + step;
        if(zerouri(index) <= val)
            start = index;
    }
    return start;
}

int main()
{
    in >> p;
    ll val = cautbin(p - 1) + 5;
    if(p == 0)
        out << 1;
    else
        out << val - val %5;
}