Cod sursa(job #1982587)

Utilizator victoreVictor Popa victore Data 19 mai 2017 15:23:39
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include<cstdio>

inline int numeros(int n)
{
    int cnt=n;
    while(n)
    {
        n/=5;
        cnt+=n;
    }
    return cnt;
}

int main()
{
    freopen("fact.in","r",stdin);
    freopen("fact.out","w",stdout);
    int p,st,dr,med;
    scanf("%d",&p);
    if(p==0)
    {
        printf("1");
        return 0;
    }
    st=1;
    dr=p;
    while(st<dr)
    {
        med=(st+dr)/2;
        if(numeros(med)<p)
            st=med+1;
        else
            dr=med;
    }
    med=(st+dr)/2;
    if(numeros(med)==p)
        printf("%d",5*med);
    else if(numeros(med+1)==p)
        printf("%d",5*med);
    else
        printf("-1");
    return 0;
}