Cod sursa(job #1575171)

Utilizator RG1999one shot RG1999 Data 21 ianuarie 2016 10:40:41
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <cstdio>

using namespace std;
int mijloc,stg,dr,p,copie,ok;
int zerouri(int x)
{
    int p=5,nr=0;
    while(x/p>0)
    {
        nr+=x/p;
        p=p*5;
    }
    return nr;
}

int main()
{
    freopen("fact.in","r",stdin);
    freopen("fact.out","w",stdout);
    scanf("%d",&p);
    stg=1;
    dr=500000001;
     while (stg<=dr)
    {
        mijloc=(stg+dr)/2;
        if(zerouri(mijloc)<p)
            stg=mijloc+1;
        else
             if(zerouri(mijloc)>=p)
            {
                if(zerouri(mijloc)==p)
                    {copie=mijloc;
                    ok=1;
                    }
                dr=mijloc-1;
            }
    }
        if(ok==0)
            printf("%d",-1);
            else
        printf("%d",copie);


    return 0;
}