Cod sursa(job #2218351)

Utilizator bebeetarepredescu bebeetare Data 4 iulie 2018 12:16:59
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <bits/stdc++.h>

using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
long long P;
long long st, dr, mid;
int i;
bool ok=false;
long long zero (long long x)
{
    long long putere=5;
    long long nr=0;
    while(putere<=x)
    {
        nr+=x/putere;
        putere*=5;
    }
    return nr;
}
int main()
{
    f>>P;
    st=1;
    dr=5*P;
    long long step=1;
    while(step<dr)
        step<<=1;
    for(i=1; step; step>>=1)
    {
        if(i+step<=dr && zero(i+step)<=P)
            i+=step;
    }
    while(zero(i)==P && i>=1)
    {
        i--;
        ok=true;
    }
    i++;
    if(ok==true)
        g<<i<<'\n';
    else g<<-1;
    return 0;
}