Cod sursa(job #1803639)

Utilizator maria.nastaseNastase Maria maria.nastase Data 11 noiembrie 2016 17:25:37
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <cstdio>
#include <cstdlib>
using namespace std;

int cif5(int n)
{
    int r=5,s=0;
    while(r<=n)
    {
        s+=n/r;
        r*=5;
    }
    return s;
}
int main()
{
    freopen("fact.in","r",stdin);
    freopen("fact.out","w",stdout);
    int p;
    scanf("%d",&p);
    if(p!=0)
    {
        char f=0;
        int st, dr;
        st=1;
        dr=500000000;
        while(st<dr)
        {
            int m=(st+dr)/2;
            if(cif5(m)==p)
                f=1, dr=m;
            else
            {
                if(cif5(m)>p)
                    dr=m-1;
                else
                    st=m+1;
            }
        }
        if(f!=0)
            printf("%d", st);
        else
            printf("-1");
    }
    else
        printf("1");
    return 0;
}