Cod sursa(job #2218340)

Utilizator andreiomd1Onut Andrei andreiomd1 Data 4 iulie 2018 11:58:30
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 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 cnt=0;

    while(putere<=x) {
        cnt+=x/putere;

        putere*=5;
    }

    return cnt;
}

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;
}